Em uma configuração mestre-escravo no MySQL 5.5 no RHEL 6.1, quando a replicação do banco de dados é interrompida (por qualquer motivo), qual é uma boa maneira de:
- verificar (e alertar) a replicação está quebrada?
- obter uma lista de tabelas que estão fora de sincronia em vários bancos de dados?
Não tenho acesso aos logs do servidor, mas posso consultar as tabelas sob o db "mysql" e "information_schema", além dos dbs usados pelos aplicativos.
Com relação ao primeiro ponto
apenas verifique o seguinte
Basta verificar se IO_RUNNING e SQL_RUNNING são Sim.
Se um dos valores for Não, verifique a mensagem de erro.
Você pode verificar outras coisas, como Seconds_Behind_Master ( `Seconds_Behind_Master` mostra o atraso exato do escravo do mestre? )
Com relação ao segundo ponto
A melhor ferramenta do mundo para isso é pt-table-checksum. Por favor, leia a documentação sobre ele porque a saída será todas as tabelas nos bancos de dados especificados. Você terá que analisar a saída de texto para comparar os valores da soma de verificação entre Mestre e Escravo.
Escrevi um post parcial sobre o uso desta ferramenta: