Questa è la procedura passo passo completa per risincronizzare una replica master-slave da zero:
Al maestro:
RESET MASTER;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;
E copia i valori del risultato dell'ultimo comando da qualche parte.
Senza chiudere la connessione al client (perché rilascerebbe il blocco di lettura) emettere il comando per ottenere un dump del master:
mysqldump -u root -p --all-databases > /a/path/mysqldump.sql
Ora puoi rilasciare il blocco, anche se il dump non è ancora terminato. Per farlo, esegui il seguente comando nel client MySQL:
UNLOCK TABLES;
Ora copia il file dump sullo slave usando scp o il tuo strumento preferito.
Allo schiavo:
Apri una connessione a MySQL e digita:
STOP SLAVE;
Carica il dump dei dati del master con questo comando della console:
mysql -uroot -p < mysqldump.sql
Sincronizza registri slave e master:
RESET SLAVE;
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=98;
Dove i valori dei campi sopra sono quelli che hai copiato prima.
Infine, digita:
START SLAVE;
Per verificare che tutto funzioni di nuovo, dopo aver digitato:
SHOW SLAVE STATUS;
dovresti vedere:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Questo è tutto!