Estou usando a pt-table-checksum
versão 2.1.4
para verificar minha configuração mestre-escravo. No caso de eu esquecer de configurar os privilégios corretos no escravo, ele escreve um erro stderr
como este:
# pt-table-checksum -d employees
Cannot connect to h=node03.mydomain.local <== error
TS ERRORS DIFFS ROWS CHUNKS SKIPPED TIME TABLE
10-04T15:33:33 0 0 9 1 0 0.014 employees.departments
[...]
No entanto, o status de saída dele é 0
.
# echo $?
0
As diferenças numéricas que ele encontrará são sempre zero, pois não há nada para comparar. E sim, a documentação diz para sair com status 0
se nenhuma diferença ou erro for relatado. Mas isso não faz sentido na maioria dos casos.
Existe uma maneira de pt-table-checksum
não falhar silenciosamente e relatar isso como uma falha geral? Devo registrar um bug ou isso é configurável?
Prova ser confuso para mais usuários, por exemplo nesta questão: "pt-table-checksum help required" .
pt-table-checksum
roda principalmente no mestre, mas como o registro binário no MySQL é baseado em instruções, as instruções de cálculo reais também estão sendo executadas no escravo. Deve-se então executarpt-table-checksum
no escravo para verificar e comparar as somas de verificação que não podem acessar o escravo do mestre. Adicione a--replicate-check-only
opção de verificar apenas as diferenças com base nas somas de verificação já presentes na tabela de somas de verificação.