Lycée Cassin - Frey

publicité
Épreuve de Pratique des Techniques Informatiques
Lycée Cassin - Frey
Compte rendu d’Activité
Session 2011
Fiche n°5
Nom et prénom : SKANDARAJAH Thanushan
Réplication de bases de données MySQL sous Windows
Contexte : Une entreprise X a besoin de répliquer sa base de données pour des
raisons de performances et de sécurité. Pour cela elle veut répliquer sa base de
données MySQL sur une autre machine.
Objectifs : Mettre en place une réplication de base de données automatisée d’un
serveur maître à un serveur esclave.
C15
C24
C37
Compétences mises en œuvre pour la réalisation de cette activité
Identifier les éléments de coûts, mesurer ces coûts pour un réseau local, une
liaison à distance
Installer un SGBD
Administrer une base de données
Matériel :
-2 postes sous Windows
Conditions de réalisations
Logiciel :
-Windows 7
-MySQL 5.1.32
-VirtualBox
Durée : 7h
Autres contraintes et difficultés :
Description de l'activité réalisée
Situation initiale :
 Un seul serveur gère les requêtes donc on a une surcharge du SGBD,
dégradation du temps de réponse, faible tolérance aux pannes
Situation finale :
 Equilibrage de charge du travail, meilleur temps de réponse, disponibilité
d’une réplique même lorsque la base de référence n’est pas disponible et une
probabilité de panne très faible.
Outils utilisés :
 MySQL5.1.32
 VirtualBox
Académie de Strasbourg
Page 1
Épreuve de Pratique des Techniques Informatiques
Session 2011
Déroulement de l’activité :
I- Coût et matériel
II- Quand répliquer ?
III- Mise en place du serveur maître
IV- Mise en place du serveur esclave
V- Synchroniser les serveurs
VI- Test de la réplication
VII- Contraintes
I- Afin de réaliser une réplication de base de données il faut disposer au minimum
de 2 postes, un maître et un autre esclave. Comparé à une mise en place d’une
base de données sans réplication, celui avec une réplication a un coût plus élevé
mais donne de meilleures performances par la suite.
II.
Une réplication doit se dérouler quand le réseau est dans une tranche d’horaire ou
les requêtes sont moindres. Pour les sites de e-commerce leur site doit être
accessible 24/7 car les clients affluent à n’importe qu’elle heure. Pour cela il faut
prévoir des jours précis et des heures précises dédiées à la réplication de la base de
données et mettre le site en maintenance.
III.
Après avoir installé MySQL5.1.32 nous aller créer une base nommée <réplication>.
Pour la mise en place du serveur maître, nous allons créer les tables et les remplir à
l’aide d’un fichier qu’on va importer en format ********.sql.
La base servira de test pour avoir un aperçu de la réplication plus tard.
Nous allons maintenant créer un compte réplication avec le droit <replication slave>
et lui attribué un mot de passe. On a juste à importer un fichier en .sql qui contient
les requêtes pour faire la création du compte et pour que le fichier my.ini soit créé.
Dans le fichier my.ini, il faudra ajouter quelques lignes comme :
 server-id= **
 log-bin=nom_journal →Activer le log binaire. Le serveur enregistre
toutes les déclarations que la base de données a changées dans le log
binaire, qui est utilisé pour la sauvegarde et la réplication
 binlog-do-db=replication →Indique au maître qu'il doit enregistrer les
modifications si la base courante est celui-ci sélectionné. Toutes les
autres bases de données qui ne sont pas explicitement mentionnées
sont ignorées.
 language=french →Permet d’avoir certains message d’erreur en
français.
IV.
Le serveur esclave est juste une copie intégrale du maître, il faut installer MySql
comme pour le serveur maître et copier le dossier de la base de données sur celuici, normalement c’est un dossier caché se trouvant sur le disque racine.
Mais avant de copier il faut bloquer les mises à jour sur le serveur maître avec la
commande FLUSH TABLES WITH READ LOCK.
Académie de Strasbourg
Page 2
Épreuve de Pratique des Techniques Informatiques
Session 2011
V.
Pour que la réplication marche, il faut avoir sur le serveur esclave le nom et contenu
à l’identique du maître.
Je bloque les mises à jour sur le serveur maître, je copie le dossier se trouvant à la
racine du maître et je le colle dans la racine du serveur esclave, ne surtout pas
oublier d’arrêter le serveur MySql avant de copier et coller avec la commande <NET
STOP MySql >. A la fin de la procédure il suffit de redémarrer les serveurs avec la
commande <NET START MySql>
VI.
Après avoir fini d’installer et configuré la réplication, je fais une coupure du réseau et
je regarde ce qu’il se passe.
Je remets le réseau en marche et je regarde si la réplication se produit ou non.
VII.
La réplication MySQL est de type unidirectionnelle c'est-à-dire du maître vers
l’esclave et asynchrone c'est-à-dire un délai entre les mises à jour sur le maître et la
répercussion sur le serveur esclave.
Une réplication n’est en aucun cas une sauvegarde car toute modification de la base
de données est faite en temps réel.
Analyse des résultats obtenus
Objectif atteint :
La réplication se passe parfaitement du serveur maître au serveur esclave, toute la
base de donnée concerné est copié à l’identique sur le serveur esclave.
Bilan de l’activité :
Vérifier toujours la connectivité entre le maître et l’esclave, mettre le port de
communication ouvert dans le pare-feu. Faire les modifications seulement sur le
serveur maître car c’est une réplication unidirectionnel.
Académie de Strasbourg
Page 3
Téléchargement