Membuat Script Repair Database

Salah satu permasalahan dalam sebuah webserver dengan database MySQL adalah error database/table yang rusak akibat mesin PC mati mendadak. Biasanya dengan demikian, input data akan gagal, penampilan database akan diketahui dari sisi web sebagai pesan error sebagai berikut: Table Error ERROR xxxx: Can’t open file: ‘xxx.MYD’.

Bagaimana cara memperbaiki? Cara paling singkat adalah melihat lebih dulu folder data MySQL yang biasanya jika pada Xampp windows akan tersimpan di …xampp\mysql\data\namadatabase atau jika pada linux terdapat di /var/lib/mysql/namadatabase. Check lebih dulu permission file nama file yang dimaksud apakah user mysql memiliki akses untuk membaca file tersebut.

Namun cara lain yang tidak kalah penting adalah melakukan repair database dari sisi MySQL itu sendiri. Hal ini bisa dilakukan dengan perintah

REPAIR TABLE

setelah lebih dulu melakukan CHECK TABLE satu persatu

mysql> use sistem;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+---------------------+
| Tables_in_sistem |
+---------------------+
| input               |
| kota                |
| menu                |
| userlog             |
| users               |
| welcome             |
+---------------------+
10 rows in set (0.00 sec)

mysql> CHECK TABLE welcome;
+------------------+-------+----------+----------+
| Table            | Op    | Msg_type | Msg_text |
+------------------+-------+----------+----------+
| sistem.welcome   | check | status   | error    |
+------------------+-------+----------+----------+
1 row in set (0.02 sec)

mysql> REPAIR TABLE welcome;
+----------------+--------+----------+----------+
| Table          | Op     | Msg_type | Msg_text |
+----------------+--------+----------+----------+
| sistem.welcome | repair | status   | OK       |
+----------------+--------+----------+----------+
1 row in set (0.05 sec)

mysql>

Untuk selanjutnya kita bisa membuat sebuah script PHP yang berfungsi untuk memberikan CHECK table dan REPAIR table untuk sistem kita sendiri. Kira-kira script tersebut akan seperti ini:

Check Database:
TableStatus
Nama TableStatus Repair

Contoh tampilannya akan seperti berikut :

dan

Sekian… Semoga berguna