Memperbaiki Error "mysql DB Error: Incorrect key file for table"
Tadi pagi saya mendapati suatu masalah mengenai situs yang saya kelola yakni terdapat notifikasi “mysql DB Error: Incorrect key file for table; table.MYI try to repair it”. Entah apa penyebabnya, padahal tadi malam situs tersebut baik-baik saja. Mencoba mencari tahu apa penyebabnya dari mesin pencarian, nah berikut ini hal yang saya lakukan pada saat perbaikan tersebut yakini:
Pertama saya mendapati hasil, bahwa galat tersebut disebabkan oleh /tmp
yang penuh. Saya pikir mungkin benar juga /tmp
sudah penuh. Akhirnya, saya mencoba cek dengan perintah df -h
hasilnya ternyata ruangan (space storage) masih sangat lega.
Terlihat bahwa /tmp
saat ini baru terpakai 1%
, dengan kata lain masalahnya bukan di sini. Kemudian saya mencoba melakukan pencarian lagi dengan kata kunci yang berbeda dan ketemu, yakni dengan cara memperbaiki berkas database tersebut ekstensi *.MYI
.Perbaikan tersebut menggunakan myisamchk
.
Sebelum melakukan itu, pastikan kita mengetahui di mana letak berkas database, umumnya di direktori /var/lib/mysql
kalau belum yakin, kita cari saja berkasnya dengan find
yakni:
sudo find / -name *.MYI
Jika sudah ketemu di mana letak berkasnya, langsung lakukan perintah berikut:
cd /var/lib/mysql myisamchk -r */*.MYI
Nah perbaikan database telah selesai dilakukan, cek lagi apakah masih terjadi galat? Jika masih, lakukan kembali perbaikan dari dalam, yakni dengan masuk ke database server.
Login MySQL/MariaDB:
sudo mysql -u root
atau
sudo mysql -u root -p'PasswordAnda'
Kemudian lakukan perintah berikut:
use DATABASE_ANDA; show tables; REPAIR TABLE_ANDA tbl_name USE_FRM;
Langsung coba refresh situs tersebut, jika masih terjadi galat lakukan perintah repair table kembali sesuai dengan notifikasi galat tersebut sampai akhirnya galat hilang.
Dan viola.. saya berhasil! Akhirnya situs tersebut normal kembali.