Descobrimos que o valor da coluna CREATE_TIME em information_schema.tables para muitas tabelas era diferente em MASTER e SLAVE . Ao percorrer os logs, verificou-se que o valor CREATE_TIME no SLAVE era o da rotina OPTIMIZE semanal agendada . Portanto, pode-se inferir que as instruções OPTIMIZE TABLE estão fazendo com que as TABLES sejam recriadas em SLAVE . No entanto, o trabalho agendado é executado apenas em MASTER . Mas o CREATE_TIME em MASTER não está sendo afetado.
Por que o comando OPTIMIZE TABLE está se comportando de maneira diferente em MASTER e SLAVE ? E se a tabela estiver sendo reconstruída em SLAVE , a tabela ficará temporariamente indisponível durante esse período?
A variável
innodb_optimize_fulltext_only
estava LIGADA no mestre mas DESLIGADA no escravo. Como resultado, os comandos OPTIMIZE TABLE estavam sendo ignorados no servidor Master.