As tabelas MyISAM são muito fáceis de travar. Há informações de cabeçalho em cada tabela que mantém o controle de quantos handles de arquivo aberto uma tabela MyISAM possui.
Se o mysqld travar, qualquer tabela MyISAM que tenha identificadores de arquivo abertos para ela nunca teve a oportunidade de diminuir a contagem de identificadores de arquivo a cada fechamento de identificador de arquivo. Assim, se um novo handle de arquivo abre uma tabela MyISAM (arquivo .MYD) e o mysqld descobre uma incompatibilidade entre o número de handles de arquivo que uma tabela MyISAM acredita estar aberta e o número de handles de arquivo que a tabela MyISAM realmente tem abertos, a tabela é declarado caiu.
Existem quatro (4) métodos para lidar com isso:
MÉTODO #1:Configure o reparo automático do MyISAM
Veja minha postagem https://dba.stackexchange.com/a/15079/877 sobre como configurar isso após uma reinicialização do MySQL (15 de março de 2012)
MÉTODO #2:Use InnoDB em vez de MyISAM
O InnoDB tem recuperação de falhas integrada na inicialização do Storage Engine. MyISAM não
MÉTODO #3:Use Aria em vez de MyISAM
Aria é o substituto do MariaDB para o MyISAM. Possui mecanismos de recuperação de falhas para tabelas individuais.
MÉTODO #4:Não mate -9 no mysqld
Se o mysqld travar, deliberada ou involuntariamente, as informações do cabeçalho de todas as tabelas MyISAM abertas as colocarão em um estado travado. Evite ter que matar manualmente o mysqld.