Tabele MyISAM bardzo łatwo ulegają awarii. W każdej tabeli znajdują się informacje nagłówka, które śledzą, ile otwartych plików obsługuje tabela MyISAM.
Jeśli mysqld ulegnie awarii, jakakolwiek tabela MyISAM, która miała otwarte uchwyty pliku, nigdy nie miała możliwości zmniejszenia liczby uchwytów pliku po każdym zamknięciu uchwytu pliku. Tak więc, jeśli nowy uchwyt pliku otworzy tabelę MyISAM (plik .MYD) i mysqld wykryje niezgodność między liczbą uchwytów plików, które tabela MyISAM uważa za otwarte, a liczbą uchwytów plików, które tabela MyISAM faktycznie ma otwarte, tabela jest ogłoszono awarię.
Istnieją cztery (4) metody radzenia sobie z tym:
METODA nr 1:Ustaw automatyczną naprawę MyISAM
Zobacz mój post https://dba.stackexchange.com/a/15079/877 jak to skonfigurować po ponownym uruchomieniu MySQL (15 marca 2012)
METODA #2:Użyj InnoDB zamiast MyISAM
InnoDB ma wbudowane odzyskiwanie po awarii w inicjalizacji silnika pamięci masowej. MyISAM nie
METODA #3:Użyj Arii zamiast MyISAM
Aria jest zastępczym programem MariaDB dla MyISAM. Zawiera mechanizmy odzyskiwania po awarii dla poszczególnych tabel.
METODA #4:Nie zabijaj -9 na mysqld
Jeśli mysqld ulegnie awarii, celowo lub nieumyślnie, informacje z nagłówka wszystkich otwartych tabel MyISAM spowodują ich awarię. Unikaj ręcznego zabijania mysqld.