10 October 2013

Cara Me-Repair Database MySQL Error

Bonjour! Pernahkah anda mengalami pengalaman yang mirip dengan saya? Kejadian ini terjadi pada server social site dikantor saya. Social blog site dikantor saya menggunakan wordpress, suatu ketika database di server tersebut mengalami error sehingga ketika dikunjungi terdapat error page "Error established database". Sebenarnya kejadian seperti ini mungkin saja terjadi pada server apapun, ketika traffic ke database terlalu tinggi dan resource server tersebut kurang mendukung maka service mysql di server tesebut hang.

Jika anda mengalami hal tersebut, anda bisa cek setinggi apa traffic ke database server anda dengan mengetikkan perintah dibawah ini :

mysql> show processlist;
+-------+------------+-----------+------------+---------+------+-------+------------------+
| Id    | User       | Host      | db         | Command | Time | State | Info             |
+-------+------------+-----------+------------+---------+------+-------+------------------+
| 87222 | masterdata | localhost | masterdata | Sleep   |    6 |       | NULL             |
| 87229 | masterdata | localhost | masterdata | Sleep   |   18 |       | NULL             |
| 87242 | masterdata | localhost | masterdata | Sleep   |   26 |       | NULL             |
| 87244 | masterdata | localhost | masterdata | Sleep   |   94 |       | NULL             |
| 87262 | masterdata | localhost | masterdata | Sleep   |   29 |       | NULL             |
| 87264 | masterdata | localhost | masterdata | Sleep   |   60 |       | NULL             |
| 87269 | masterdata | localhost | masterdata | Sleep   |    2 |       | NULL             |
| 87272 | masterdata | localhost | masterdata | Sleep   |    2 |       | NULL             |
| 87277 | masterdata | localhost | masterdata | Sleep   |  107 |       | NULL             |
| 87281 | masterdata | localhost | masterdata | Sleep   |   27 |       | NULL             |
| 87291 | root       | localhost | NULL       | Query   |    0 | NULL  | show processlist |
+-------+------------+-----------+------------+---------+------+-------+------------------+
11 rows in set (0.00 sec)

Contoh diatas tidak menunjukkan kondisi service mysql error, tapi jika service pada server anda mengalami hang karena traffic database yang sangat tinggi, saya yakin akan sangat banyak sekali yang keluar ketika anda melakukan query show processlist;

bahkan ketika anda melihat system monitor di server linux anda dengan htop atau top misalnya, service mysql akan tampak memakan resource paling banyak, kondisi di depan website tentu hanya ada warning error established database.

Maka dari itu cara me-repair database mysql error. Untuk melakukannya silahkan lakukan perintah ini :
mysqlcheck -c blog -u root -p
Jika anda ingin menampilkan hasil tersebut kedalam sebuah file tambahkan perintahnya jadi seperti ini :
mysqlcheck -c blog -u root -p > output
Perintah diatas hanya akan memeriksa error database mysql terjadi pada tabel yang mana. Cara me-repair database mysql error secara otomatis silahkan lakukan perintah ini :
mysqlcheck -c blog --auto-repair -u root -p > output
Perintah diatas akan melakukan pemeriksaan pada setiap tabel database di server anda, lalu akan me-repair error table database secara otomatis, dan terakhir melakukan print dari kegiatan tersebut kedalam sebuah file. Dengan begitu anda bisa melihat table mana yang sering mengalami error, dan dapat mengantisipasinya secepat mungkin.

Baiklah, sekian cerita pengalaman saya, cara me-repair database mysql error ternyata tidak terlalu sulit bukan? :)

Semoga bermanfaat,
Salam Penguin! :)



No comments:

Post a Comment