Mungkin anda pernah mengalami kasus table di MySQL yang corrupted (rusak karena kebanyakan korupsi kali wkwkwk), salah satu cara memperbaikinya adalah dengan myisamchk, namun sebelum kita mulai mungkin perlu sedikit info tambahan (yg mungkin aja keliru krn ini menurut penafsiran saya aja dari baca sana sini).
MyISAM adalah jenis mysql, yg lainnya adalah InnoDB, sptnya myisam lebih cocok untuk data yg relatif lebih sedikit, tp keunggulannya lbh irit pemakaian memory & cpu, prestashop adalah contoh CMS Commerce yang harus pke innoDB, setidaknya 1-2 tahun yg lalu begitu waktu saya coba prestashop.
Ketika MySQL membuat table, ada 3 buah file yang terbentuk, yaitu :
*.frm (Format) untuk menyimpan table format
*.MYD (MyData) untuk menyimpan data di dalam table
*.MYI (MyIndex) untuk menyimpan index
Command berikut akan kita gunakan dari shell prompt, let’s do it 😀
1. Setelah menemukan folder yang berisi *.MYI dari website anda, langsung cari table yang rusak dengan myisamchk
# myisamchk *.MYI >> logfilekamu.txt
Semua hasil pemeriksaan table akan dimasukkan ke dalam file logfilekamu.txt baik table yang masih bagus ataupun yang rusak, tetapi yang rusak akan langsung ditampilkan ke prompt.
Jika keluar tulisan yang menandakan kalau ada table tertentu crashed (rusak) ataupun yg lainnya dan perlu diperbaiki (should fixed), lanjut langkah ke 2, klo ngga ada pesan apa2, berarti ga ada yg rusak, alhamdulillah….
2. untuk memperbaiki table yang rusak dengan command
# myisamchk -r nama_table_yang_rusak.MYI
Selesai deh, gampang yak heuehhuehue…
notes :
*Jika anda mendapat pesan “clients are using or haven’t closed the table properly” waktu perbaikan (langkah ke-2), matikan dulu server mysql nya
*Masih banyak command myisamchk yang lain, untuk menampilkannya
# myisamchk --help
Atau bisa dengan cara memperbaiki Mysql Table yang korup melakukan seperti ini :
mysql -uroot -p
masukan password kemudian ke database server. pindah ke database yang
ada di table korup tersebut
use berga ;
kemudia lakukan show table yang dengan perintah
mysql > show tables;
mysql> show tables;
+--------------------+
| Tables_berga |
+--------------------+
| images |
| laravel_migrations |
| terms |
+--------------------+
3 rows in set (0.00 sec)
setelah itu table2 yang ada dan saya check saja table yang ternyata bermasalah dengan perintah
mysql> CHECK TABLE images;
+---------------+-------+----------+---------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+---------------+-------+----------+---------------------------------------------+
| cakep.images | check | error | Wrong bytesec: 0-0-0 at linkstart: 18754992 |
| cakep.images | check | error | Corrupt |
+---------------+-------+----------+---------------------------------------------+
2 rows in set (0.37 sec)
Setelah tau masalahnya, dengan perintah sederhana اِ Ù†ْ Ø´َØ¢ Ø¡َ اللّÙ‡ Tables akan diperbaiki
mysql> REPAIR TABLE images;
+---------------+--------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+---------------+--------+----------+----------+
| cakep.images | repair | status | OK |
+---------------+--------+----------+----------+
1 row in set (0.50 sec)
setelah udah selesei ketik :
exit ;
Table di salah satu situs kembali sehat dan siap di pake untuk énaak énaak lagi. Atau kalau mau cara super singkat bisa coba seperti ini
sudo mysqlcheck --auto-repair -A -u root -p