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!