TABELA SUMIU, InnoDB foi vc??

Post Reply
paco

TABELA SUMIU, InnoDB foi vc??

Post by paco » Tue Aug 13, 2019 5:00 pm

Boa tarde pessoal ..

Estou com alguns problemas e gostaria de saber se alguém já passou por isso?
Tenho o Mysql 5.6.35 com replicação em 3 servidores com o Galera cluster.

Ao fazer uma manutenção baixei os 3 nodos para desligar os servidores. Ao subir banco a banco verifiquei um erro no log.

[Warning] InnoDB: Load table 'sip/rel_hierarquia_unidade' failed, the table has missing foreign key indexes. Turn off 'foreign_key_checks' and try again

Ao conectar no banco e fazer um select simples na tabela, o banco me informou que a tabela não existia.
Deu um show tables e a tabela estava lá.

Pesquisei sobre referência órfão no innoDB e descrobi que existe uma BUG no mysql. Que pode ser visto nesse link https://bugs.mysql.com/bug.php?id=68148

Resumindo, você não pode excluir o índice de um FK. Se isso for feito a tabela perde a referência e retorna a mensagem que tabela não existe.

Fiz o procedimento informado no log, coloquei o parâmetro foreign_key_checks=0 e fiz a consulta na tabela novamente. Bingo, select executado com sucesso.
Verifique a estrutura do banco e todos os índices de FK existiam.

Pensei, deixa eu voltar como estava. Voltei o parâmetro foreign_key_checks=1 e fiz a consulta novamente.
Tudo funcionou perfeitamente.

Agora vem minha dúvida. Por que isso acontece?

Com esse problema não consigo sincronizar os outros nodos do cluster. Ate faz sentido se a tabela não existe a base que está subindo está diferente.
Depois de colocar o parâmetro foreign_key_checks=0 e fazer o select e voltar para foreign_key_checks=1 tudo volta ao normal .. Mas vamos la, não posso ficar fazendo isso cada vez que reinicio o banco.

Se alguém já passou por isso ou tem ideia de que seja por favor me de uma luz.

portilho
Site Admin
Posts: 482
Joined: Wed May 29, 2013 8:51 am

Re: TABELA SUMIU, InnoDB foi vc??

Post by portilho » Thu Sep 05, 2019 10:10 am

Oi.
Como o Link coloca, é Bug. É por isso que acontece.
Para resolver de forma definitiva, você terá que fazer dump / drop e Import do database.
E aproveita para subir esta versão, 5.7 no mínimo possui desempenho bem melhor.

Post Reply