Maison > Article > base de données > Comment réinitialiser (resynchroniser) la réplication maître-esclave MySQL
Parfois, la réplication MySQL empêche le système esclave de se synchroniser correctement avec le système maître. Cela peut avoir plusieurs raisons. Mais ce que nous devons considérer, c’est comment y remédier ? Cet article explique comment réinitialiser la réplication MySQL.
Remarque : Après avoir utilisé la méthode décrite dans cet article, tous les fichiers bin-log seront supprimés, donc si nécessaire, vous pouvez d'abord sauvegarder le fichier bin-log, et puis suivez les instructions.
(Recommandation associée : Tutoriel MySQL)
Sur le serveur esclave :
Tout d'abord, nous devons arrêter l'esclave serveur. Connectez-vous au serveur MySQL et exécutez les commandes suivantes.
mysql> STOP SLAVE;
Sur le maître :
Après avoir arrêté l'esclave, rendez-vous sur le maître et réinitialisez l'état du maître à l'aide de la commande suivante.
mysql> RESET MASTER; mysql> FLUSH TABLES WITH READ LOCK;
Utilisez la commande suivante pour copier le dump de la base de données.
# mysqldump -u root -p mydb > mydb-dump.sql
Déverrouillez la table sur le serveur maître après la sauvegarde.
mysql> UNLOCK TABLES;
Sur le serveur esclave :
Utilisez la commande suivante pour restaurer la sauvegarde de la base de données sur le serveur esclave.
# mysql -u root -p mydb < mydb-dump.sql
Connectez-vous à MySQL et exécutez la commande suivante pour réinitialiser l'état du serveur esclave.
mysql> RESET SLAVE; mysql> CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=1;
Démarrer la réplication de l'esclave après avoir réinitialisé l'esclave
mysql> START SLAVE;
La réplication a été resynchronisée avec la nouvelle configuration, ce qui peut être vérifié à l'aide de la commande suivante.
mysql> show slave status G
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!