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
mysqld
ser 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 it
enquanto 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".