Replicação do MySQL: Obtendo o master em sincronia com o slave novamente

4

Eu tenho dois computadores na mesma rede, em uma configuração de replicação mestre-escravo.

Simplesmente para testar o failover, inseri alguns dados diretamente no banco de dados escravo. Então agora o banco de dados escravo contém mais informações do que o banco de dados mestre.

Agora eu quero colocar o mestre em sincronia com o escravo novamente para voltar à configuração real mestre-escravo. Como eu faria isso?

    
por Deniz Dogan 26.10.2010 / 11:22

2 respostas

3

Em vez de chamá-los de "mestre" e "escravo", vamos descrevê-los desta maneira:

  • HostA: o "mestre" original
  • HostB: O "escravo" original

Quando você inseriu dados diretamente no HostB, HostA ficou atrás do oplog binário. Você primeiro precisará superar isso tornando HostA um escravo do HostB usando o comando CHANGE MASTER TO ( link ). Isso deve fazer com que o HostA sincronize com o HostB.

Quando o HostA encontrar o HostB, você deverá redefinir o log binário do HostA e promovê-lo ao master.

  1. No HostA: RESET MASTER;
  2. No HostB: CHANGE MASTER TO ...

Para mais informações, dê uma olhada no link

    
por 27.10.2010 / 21:19
0

Solução alternativa:

  • Pare o SLAVE e o MASTER.
  • Execute um programa como o Navicat para o Data Sync do SLAVE para o MASTER.
  • Redefina o ESCRAVO E O MESTRE.
  • INICIE o MESTRE E O ESCRAVO.

Os dados devem estar prontos.

    
por 17.12.2010 / 20:38