MyISAM-tabeller är mycket lätta att krascha. Det finns rubrikinformation i varje tabell som håller reda på hur många öppna filhanterare en MyISAM-tabell har.
Om mysqld kraschar, hade någon MyISAM-tabell som hade öppna filhandtag aldrig möjlighet att minska antalet filhandtag när varje filhandtag stängdes. Således, om ett nytt filhandtag öppnar en MyISAM-tabell (.MYD-fil) och mysqld upptäcker en oöverensstämmelse mellan antalet filhandtag som en MyISAM-tabell tror är öppet och antalet filhandtag som MyISAM-tabellen faktiskt har öppna, är tabellen förklarade kraschade.
Det finns fyra(4) metoder för att hantera detta:
METOD #1:Ställ in automatisk MyISAM-reparation
Se mitt inlägg https://dba.stackexchange.com/a/15079/877 om hur man ställer in detta vid en omstart av MySQL (15 mars 2012)
METOD #2 :Använd InnoDB istället för MyISAM
InnoDB har kraschåterställning inbyggd i Storage Engines initiering. MyISAM gör det inte
METOD #3 :Använd Aria istället för MyISAM
Aria är MariaDBs drop-in ersättare för MyISAM. Den har kraschåterställningsmekanismer för enskilda tabeller.
METOD #4 :Döda inte -9 på mysqld
Om mysqld kraschar, avsiktligt eller ofrivilligt, kommer rubrikinformation för alla öppna MyISAM-tabeller att få dem att krascha. Undvik att manuellt döda mysqld.