Tabel MyISAM sangat mudah rusak. Ada info header di setiap tabel yang melacak berapa banyak file terbuka yang menangani tabel MyISAM.
Jika mysqld mogok, tabel MyISAM apa pun yang memiliki pegangan file terbuka tidak pernah memiliki kesempatan untuk mengurangi jumlah pegangan file pada setiap penutupan pegangan file. Jadi, jika pegangan file baru membuka tabel MyISAM (file .MYD) dan mysqld menemukan ketidakcocokan antara jumlah pegangan file yang diyakini tabel MyISAM terbuka dan jumlah pegangan file yang sebenarnya telah dibuka oleh tabel MyISAM, tabelnya adalah dinyatakan macet.
Ada empat (4) metode untuk menangani ini:
METODE #1 :Siapkan perbaikan MyISAM otomatis
Lihat postingan saya https://dba.stackexchange.com/a/15079/877 tentang cara mengatur ini setelah MySQL restart (15 Mar 2012)
METODE #2 :Gunakan InnoDB sebagai ganti MyISAM
InnoDB memiliki pemulihan kerusakan yang terpasang pada inisialisasi Storage Engine. MyISAM tidak
METODE #3 :Gunakan Aria daripada MyISAM
Aria adalah pengganti MariaDB untuk MyISAM. Ini menampilkan mekanisme pemulihan kerusakan untuk tabel individual.
METODE #4 :Jangan bunuh -9 di mysqld
Jika mysqld crash, sengaja atau tidak sengaja, info header untuk semua tabel MyISAM yang terbuka akan membuatnya menjadi crash. Hindari keharusan membunuh mysqld secara manual.