Tabelas MyISAM Corrompidas
Mesmo se o formato MyISAM for muito confiável (todas as alterações na tabela são escritas antes da instrução SQL retornar), você ainda pode ter tabelas corrompidas se algum dos seguintes itens ocorrer:
- O processo
mysqldser finalizado no meio de uma escrita. - Finalização inesperada do computador (por exemplo, se o computador é desligado).
- Um erro de hardware.
- Você estar usando um programa externo (como myisamchk) em uma tabela aberta.
- Um bug de um software no código MariaDB ou MyISAM.
Os sintomas típicos de uma tabela corrompida são:
- Você obtem o erro
Incorrect key file for table: '...'. Try to repair itenquanto seleciona dados da tabela. - Consultas não encontram linhas em uma tabela ou retornam dados incompletos.
Você pode verificar se uma tabela está ok com o comando CHECK TABLE. Leia "Sintaxe de CHECK TABLE".
Você pode repara um tabela corrompida com REPAIR TABLE. Leia "Sintaxe do REPAIR TABLE". Você também pode repará-la, quando o mysqld não estiver em execução com o comando myisamchk. sintaxe myisamchk.
Se a sua tabela estiver muito corrompida você deve tentar encontrar o razão! Leia Seção A.4.1, "O Que Fazer Se o MariaDB Continua Falhando".
Neste caso, a coisa mais importante de saber é se a tabela foi corrompida porque o mysqld foi finalizado (pode se verificar isto facilmente verificando se há uma linha restarted mysqld recente no arquivo de erro do mysql. Se este não é o caso, então você deve tentar fazer um caso de teste disto. Leia Seção E.1.6, "Fazendo um Caso de Teste Se Ocorre um Corrompimento de Tabela".