Este é o procedimento passo a passo completo para ressincronizar uma replicação mestre-escravo do zero:
No mestre:
RESET MASTER;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;
E copie os valores do resultado do último comando em algum lugar.
Sem fechar a conexão com o cliente (porque liberaria o bloqueio de leitura) emita o comando para obter um dump do master:
mysqldump -u root -p --all-databases > /a/path/mysqldump.sql
Agora você pode liberar o bloqueio, mesmo que o despejo ainda não tenha terminado. Para fazer isso, execute o seguinte comando no cliente MySQL:
UNLOCK TABLES;
Agora copie o arquivo de despejo para o escravo usando scp ou sua ferramenta preferida.
No escravo:
Abra uma conexão com o mysql e digite:
STOP SLAVE;
Carregue o despejo de dados do mestre com este comando do console:
mysql -uroot -p < mysqldump.sql
Sincronize os logs do escravo e do mestre:
RESET SLAVE;
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=98;
Onde os valores dos campos acima são aqueles que você copiou antes.
Por fim, digite:
START SLAVE;
Para verificar se tudo está funcionando novamente, depois de digitar:
SHOW SLAVE STATUS;
Você deveria ver:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
É isso!