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 MySQL 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
. See
Secção 4.5.4, “Sintaxe de CHECK TABLE
”.
Você pode repara um tabela corrompida com REPAIR
TABLE
. See Secção 4.5.5, “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! See Secção A.4.1, “O Que Fazer Se o MySQL 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. See
Secção E.1.6, “Fazendo um Caso de Teste Se Ocorre um Corrompimento de Tabela”.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.