Como redefinir (re-sincronizar) MySQL Master-Slave Replicação

Como redefinir (re-sincronizar) MySQL Master-Slave Replicação

Algumas vezes, a replicação do MySQL cria problemas e o escravo não pôde sincronizar adequadamente o servidor de banco de dados Master. Pode causar devido a muitas razões. Apenas a questão é como consertar?

Este artigo o guiará como redefinir a replicação do MySQL e começará de novo do zero.

Aviso: Depois de usar este tutorial, todos os seus arquivos de bin-log serão excluídos; portanto, se você quiser, poderá fazer um backup de arquivos de bin-log primeiro e depois seguir as instruções.

No servidor escravo:

No começo, precisamos parar de escravo no servidor escravo. Faça login no servidor MySQL e execute o seguinte comando.

MySQL> Pare de escravo; 

No servidor mestre:

Depois de parar o escravo, vá para o servidor mestre e redefina o estado mestre usando o seguinte comando.

MySQL> Redefinir Mestre; MySQL> FLOW TABLES COM READ LOCK; 

[Nota: Adicionando um bloqueio de leitura com sites de produção. Leia mais sobre o bloqueio da tabela]

Dê um despejo de banco de dados está sendo replicado usando o seguinte comando.

# mysqldump -u root -p mydb> mydb -dump.SQL 

Depois de fazer o backup desbloquear as tabelas no servidor mestre.

MySQL> Tabelas de desbloqueio; 
No servidor escravo:

Restaurar o backup do banco de dados retirado no servidor escravo usando o seguinte comando.

# mysql -u root -p mydb < mydb-dump.sql 

Faça login no mysql e execute os seguintes comandos para redefinir o estado de escravos também.

mysql> redefinir escravo; mysql> Alterar mestre para master_log_file = "mysql-bin.000001 ", master_log_pos = 1; 

Depois de redefinir a replicação do escravo escravo de escravos

MySQL> Start Slave; 

Agora sua replicação foi sincronizada igual à configurada recentemente. Você pode verificar isso usando os seguintes comandos.

MySQL> Mostrar status de escravo \ G