Dette er den fulde trinvise procedure for at gensynkronisere en master-slave-replikering fra bunden:
Hos masteren:
RESET MASTER;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;
Og kopier værdierne for resultatet af den sidste kommando et eller andet sted.
Uden at lukke forbindelsen til klienten (fordi det ville frigive læselåsen), udsend kommandoen for at få et dump af masteren:
mysqldump -u root -p --all-databases > /a/path/mysqldump.sql
Nu kan du frigøre låsen, selvom dumpet ikke er afsluttet endnu. For at gøre det skal du udføre følgende kommando i MySQL-klienten:
UNLOCK TABLES;
Kopier nu dumpfilen til slaven ved hjælp af scp eller dit foretrukne værktøj.
Hos slaven:
Åbn en forbindelse til mysql og skriv:
STOP SLAVE;
Indlæs masterens datadump med denne konsolkommando:
mysql -uroot -p < mysqldump.sql
Synkroniser slave- og masterlogfiler:
RESET SLAVE;
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=98;
Hvor værdierne i ovenstående felter er dem, du kopierede før.
Skriv til sidst:
START SLAVE;
For at kontrollere, at alt fungerer igen, efter at have skrevet:
SHOW SLAVE STATUS;
du skal se:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Det er det!