http://bimosaurus.com/2011/11/13/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:
<table><tr valign=top><td>
Check Database:<br />
<table class="table-common">
<tr><th>Table</th><th>Status</th></tr>
<?php
$sql_3 = "SHOW TABLES";
$q_3 = mysql_query($sql_3);
while($r_3=mysql_fetch_array( $q_3 )){
$table_name = $r_3[0];
$sql_4 = "CHECK TABLE `$table_name`";
$q_4 = mysql_query($sql_4);
while( $r_4 = mysql_fetch_array( $q_4 ) ){
?>
<tr><td><?php echo $table_name; ?></td><td><?php echo $r_4[Msg_text];?></td></tr>
<?php
}
}
?>
</table>
<form action="" method="post"><input type="submit" name="repair" value="Repair"></form>
</td>
<td><div style="margin-left:100px; margin-top:20px;">
<?php
if( isset( $_POST[repair] ) ){
sleep(5);
?>
<table class="table-common">
<tr><td>Nama Table</td><td>Status Repair</td></tr>
<?php
$sql_1 = "SHOW TABLES";
$q_1 = mysql_query($sql_1);
while($r_1=mysql_fetch_array( $q_1 )){
$table_name = $r_1[0];
$sql_2 = "REPAIR TABLE `$table_name`";
$q_2 = mysql_query($sql_2);
while( $r_2 = mysql_fetch_array( $q_2 ) ){
?>
<tr><td><?php echo "Table ". $table_name;?></td>
<td><?php echo $r_2[Msg_text];?></td></tr>
<?php
}
}
?>
</tr>
</table>
<?php
}
?>
</div>
</td>
</tr>
</table>
Contoh tampilannya akan seperti berikut :
dan
Sekian… Semoga berguna
Ooo... ini bagian dari Disaster Recovery System (DRS) ya
BalasHapusHehehe iya mas, setidaknya secara simple bisa tertangani dulu.. ternyata dimana-mana saya membuat sistem informasi dengan database server MySQL, Repair model seperti ini adalah wajib ada.. First Aid :D
BalasHapusMas, sorry OOT nih...
BalasHapusSetiap kali saya bikin spoiler (auto show / hide semacam di thread kaskus) di postingan blog selalu gagal, karena MP gak mengijinkan kode2 javascript. Ada tips gak, mas?
fungsi file PHP nggo ngecheck n ngerepair database otomatis yo kang?
BalasHapushai, apa kabar? alhamdulillah ya [kolo-kolo] kita bisa ol..
BalasHapusdan, postingan ini mengingatkanku.. bahwa statusku masih mahasiswi informatika... fyuh
BalasHapusaku membaca saja kang...:-)
BalasHapusmaaf baru bales....saya sendiri menyerah mas kalau javascript di MP :D.. tapi sepertinya bisa diakali pake css yang event a:actived nya mengubah height halaman...
BalasHapus*ada saran teman teman yang lain?
ho oh... terutama yen bar listrik mati mendadak
BalasHapuslhaaaa ayooo sinau.... jane pengn iso onlen bareng meneh ming yo kui .. the buntut and the sanding kui lho hahahaha
BalasHapusnek aku nulis wae mbak :D heheheheh
BalasHapusWah mus melu nimbrung wae.. sopo eruh iso tambah elmu
BalasHapusmbaca ya tetep gak mudeng hahahaha
BalasHapusLiatin aja
BalasHapustingkat tinggi ini yaa
Meminyak...
BalasHapus