Sticky: Memperbaiki MySQL Database

Bagi Anda yang menjadi system administrator atau database administrator, khususnya yang berhubungan dengan sistem database mysql, pasti sering merasakan bahwa sistem terasa lambat, atau bahkan ada table yang rusak. Biasanya table atau database yang mengalami kerusakan disebabkan oleh server yang tidak proper di shutdown atau mungkin handler programnya yang tidak optimal. Tulisan kali ini, berisi panduan atau tips untuk memperbaiki table atau database yang rusak. Saya membagi 2 pilihan, yang mana bisa disesuaikan dengan kebutuhan anda. Hasilnya akan sama.
Beberapa asumsi:
– Anda menggunakan sistem operasi CentOS yang lokasi penyimpanan database mysql ada di direktori /var/lib/mysql
– Jika anda menggunakan sistem operasi lain, pastikan bahwa Anda memiliki myisamchk bawaan aplikasi mysql, dan sesuaikan dengan path atau direktori dimana database disimpan
– Anda backup seluruh database Anda dulu, sebelum dilakukan perbaikan
– Kerusakan database Anda oleh karena tip berikut, tidak menjadi tanggung jawab penulis 😀

  • Quick and Safe
  • Syarat: Matikan proses mysql, /etc/init.d/mysql stop atau sesuaikan dengan aplikasi mysql bawaan Anda. Cocok untuk server yang downtime bisa ditoleransi.

    a. Lakukan pengecekan terlebih dahulu, untuk mengetahui table-table mana saja yang perlu perbaikan
    myisamchk –check /var/lib/mysql/*/*.MYI
    b. Lakukan perbaikan yang “soft/elegant
    myisamchk –safe-recover /var/lib/mysql/*/*.MYI
    c. Kemudian dicoba langkah (a) lagi, dan jika sudah tidak ada table yang perlu diperbaiki maka langkah (c) berikut tidak perlu. Tetapi jika masih ada table yang bandel maka terpaksa main “paksa
    myisamchk –safe-recover –extend-check –force /var/lib/mysql/*/*.MYI

  • Elegant, Safe, Slow but Worth it
  • Proses MySQL tidak perlu dimatikan, cocok untuk server yang live dan ada di zone production
    a. Melakukan analisa terhadap semua database di sistem, hasilnya akan melaporkan table-table mana saja yang perlu diperbaiki
    mysqlcheck –all-databases -a
    b. Melakukan perbaikan semua database secara live tapi tidak akan mengganggu aplikasi yang menggunakan database
    mysqlcheck –all-databases -r
    c. Melakukan optimize setelah perbaikan dilakukan untuk mendapatkan hasil yang optimal
    mysqlcheck –all-databases -o

Semoga panduan diatas berguna. Good luck.

About Kalpin Erlangga Silaen

My name is Kalpin Erlangga Silaen, black eyes, black hair with good smiles
This entry was posted in IT, SysAdmin, Tips and Tricks and tagged , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *