1 votes

Mise à jour de la position du serveur de réplication MySQL

J'ai essayé de mettre en place une réplication d'une grande base de données (90 Go).

J'ai créé une sauvegarde en utilisant mysqldump --single-transaction

Je l'ai ensuite restauré sur le serveur de réplication. J'ai ensuite activé la réplication, mais j'ai accidentellement cliqué sur Reset slave dans phpMyAdmin et il a remis la position à 0.

Donc, si je comprends bien, il essaie de reconstruire la base de données sur le serveur de réplication depuis le début.

Comme il continuait à se tromper sur les doublons qui existaient déjà dans la base de données (parce que j'ai d'abord restauré la sauvegarde), j'ai ajouté la temporalité :

slave-skip-errors=1062
skip-slave-start

au fichier my.ini pour éviter la duplication. Mais même après cela, il a environ 4 mois de retard sur le maître (9983704 secondes).

Y a-t-il un moyen de déplacer la position de l'esclave vers le haut pour qu'il ne reconstruise que les données des derniers jours ?

1voto

Tero Kilkanen Points 32968

Vous devez utiliser mysqldump --single-transaction --master-data pour vider la base de données du maître. Le site --master-data dit à mysqldump pour inclure la position du journal dans le fichier résultant.

Après avoir restauré le dump correct sur l'esclave, vous pouvez START SLAVE et la réplication se déroulera normalement.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X