Verifique se a Replicação do MySQL está em sincronia

2

A documentação do MySQL sobre o CHECKSUM TABLE é muito minimalista.

Minha pergunta: O CHECKSUM TABLE é uma boa maneira de verificar se uma tabela escrava do MySQL está em sincronia com o mestre? Em outras palavras: Posso usar as somas de verificação para verificar se a tabela de escravo é igual à tabela mestre?

Não posso usar o indicador Seconds_Behind_Master devido a alterações feitas apenas na tabela de escravo.

    
por Informant 29.04.2014 / 16:54

2 respostas

2

CHECKSUM TABLE é um bom caminho. Em vez de executá-lo diretamente, dê uma olhada em pt-table-checksum .

Depois de garantir que está sincronizado, você deve tornar o escravo ler -only assim você não pode mudar suas tabelas.

    
por 29.04.2014 / 17:31
1

Geralmente, é considerado uma prática boa (melhor?) fazer com que servidores secundários sejam lidos apenas para ajudar a prever o que você está tentando detectar.

set global read_only =1; 

ou

read_only=1

no arquivo my.cnf. Isso não impede que os usuários com o privilégio SUPER façam alterações, por isso você também deve removê-los de contas que não precisam dele

UPDATE mysql.user SET super_priv='N' WHERE user<>'root';
FLUSH PRIVILEGES;

Em seguida, use apenas contas sem privilégios para trabalhar com os bancos de dados e com a conta raiz quando precisar SUPER Privilege .

    
por 29.04.2014 / 17:44