|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||
|
Membre régulier
![]() Inscription : avril 2004 Messages : 284 ![]() |
Bonjour,
Je tente de créer un système de réplication MySQL avec : - un serveur maître MySQL 5.0.22 sur une Ubuntu Dapper Drake Server - un serveur esclave MySQL 5.0.21 sur une Ubuntu Dapper Drake Server Chaque serveur tourne sur une machine virtuelle VMWare, l'OS hôte est également une Ubuntu (Feisty Fawn, 7.04). J'utilise le livre 'MySQL 5 guide de l'administrateur et du développeur' chez Eyrolles. La manip se situe sur les pages 402 à 410. Mes manips : Côté maître (IP: 172.16.219.155) : 1. Modification fichier /etc/mysql/my.cnf pour ouverture vers extérieur et id unique # bind-address = 127.0.0.1 log_bin = /var/log/mysql/mysqlmasteur-bin.log server-id = 1 binlog_ignore_db = mysql # je ne veux pas répliquer la base mysql Reboot du serveur MySQL maître 2. Creation d'une base d'essai sur le maître : Code :
creation d'un utilisateur pour l'esclave : Code :
![]() 4. Puis une sauvegarde de toutes les bases : mysqldump -u root -p --all-databases --master-data --single-transaction > dump Et reboot du serveur MySQL maître Un coup d'oeil sur la processlist : ![]() Côté esclave (172.16.219.156) : Tentative d'ouverture de session avec le compte 'replicuser' sur le serveur MySQL maître OK, rien à voir avec la réplication, c'est juste un essai. 1. Modification fichier /etc/mysql/my.cnf pour ouverture vers extérieur et id unique # bind-address = 127.0.0.1 (communication avec exterieur) server-id = 2 Reboot du serveur MySQL esclave 2. J'injecte le dump dans ma base : mysql -u root -p < dump 3. Code :
START SLAVE; Là je regarde la processlist : ![]() 5. J'insert des données dans ma base essai Code :
J'ai refait plusieurs tentatives (en reprenant du début et en effectuant un RESET SLAVE après avoir réinjecté le nouveau dump du maître) mais ça ne fonctionne pas. A noter que je n'ai pas d'autres messages d'état que ceux que j'ai mis en exemple pour les processlist maître et esclave (excepté un changement d'ID des messages) et qu'en insérant des données dans les tables du serveur maître le log binaire ne change pas, sauf en cas de reboot ou le numéro de fichier s'incrémente et la position reste à 98. Auriez-vous une expérience/avis sur ce problème ? En vous remerciant, C. Tobini |
||||||||
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : avril 2004 Messages : 284 ![]() |
Je me réponds, avec la grosse déception d'avoir écrit un joli post qui ne sert à rien
En insérant un grand nombre de lignes avec un script sur le serveur maître, la synchronisation se passe sans soucis sur l'esclave... Il y a une chose que je ne comprends pas: pourquoi l'insertion manuelle de quelques lignes sur le maître ne fait pas varier la position du binlog et du coup il n'y a pas de mise à jour côté esclave ? Quelqu'un aurait la réponse à cette problématique ? |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Inscription : février 2006 Messages : 953 ![]() |
La version de l'esclave est inférieure à celle du maître. Je ne dit pas que ça pause nécessairement problème, mais c'est déconseillé. Il faut au moins une version plus récente pour l'esclave et idéalement la même.
Normalement toute requête devrait arriver dans le log. Est-ce en transactionnel (par exemple sans autocommit) ? MySQL arrive avec "mysqlbinlog" qui permet de rendre un log binaire plus lisible. Tu pourrais vérifier si le log est bien à jour est confirmer que c'est un problème de transmission à l'esclave. |
|
|
00
|
|
|
#4 | |||||||||
|
Invité régulier
![]() Inscription : juillet 2009 Messages : 8 ![]() |
Citation:
j'ai eu à utiliser rigoureusment cette méthode avec deux serveurs mysql identiques sauf que: -lorque je regarde la processlist du côté de l'esclave j'ai pas le message "waiting for master to send event" à la place j'ai NULL mais j'ai bien l'autre message "Has read....." avec une erreur "no query specified" -les modifications faites sur le serveur maitre ne sont pas repercutées sur le serveur esclave même en utilisant un script sql d'enregistrements du coup je ne sais pas trop où est le problème? si quelqu'un peu m'aider.... |
|||||||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com