Tabel MySQL “Marked As Crashed”
Pindahan dari Multiply
URL: http://webkppn.multiply.com/journal/item/9/tabel-mysql-marked-as-crashed
Permasalahan
Penggunaan database MySQL di tahun 2008 membuat saya tidak perlu selalu standby di depan komputer pada akhir pencairan DIPA-L BRR ini. Penyebabnya bisa dua: Karena sistem MySQL yang lebih baik daripada FoxPro atau karena isi tabel SP2D masih belum sebanyak pada akhir tahun anggaran. Sayangnya, kondisi santai ini tidak 100% dapat saya nikmati karena ternyata tetap saja ada gangguan pada database. Memang tidak sering. Dalam sehari kemarin kasusnya hanya terjadi dua kali: Sore dan malam. Sedangkan sejak awal jam kerja tadi sampai dengan siang, error terjadi dua kali. Seperti ini dia pesan errornya, “table d_spmind marked as crashed and must be repair.”
Beberapa minggu yang lalu, saya mengira ini karena saya hanya meng-copy folder yang berisi tabel (MYDB8DATASQLDB). Saya kira, kalau isi folder MYDB8DATA juga dicopy, maka masalah tabel crashed tidak terjadi lagi. Ternyata tidak demikian, Masalah tetap terjadi walaupun semua yang ada di folder MYDB8DATA saya copy ke server web.
Untuk mengatasi masalah ketika terjadi kasus pagi tadi, saya menjalankan perintah MS-DOS iisreset /restart dan menjalankan file batch MYSQL-INSTALL.BAT yang ada di folder MYDB8. Tidak berhasil dengan cara itu, saya kemudian me-restart server. Ternyata, setelah server di restart, pesan error tetap muncul. Ini semakin membuat saya pusing. Padahal, tadi malam setiap kali restart, pesan error langsung hilang.
Solusi
Sebenarnya masalah ini cukup sederhana. Namun, karena saya menghadapinya dengan cukup panik, maka saya sulit menemukan jalan keluarnya. Padahal, pesannya jelas, “tabel d_spmind telah rusak dan harus diperbaiki.” Kenapa dari kemarin saya tidak mencari tahu bagaimana memperbaikinya? Untungnya, setelah mencari dengan Google, saya menemukan seseorang di sebuah artikel yang kemudian mengajari saya bahwa untuk memperbaiki tabel adalah dengan perintah: repair table <nama-tabel>.
Segera setelah itu saya menuju SQLyog dan mengetikkan repair table d_spmind. Sejak saat itu sampai sekarang, kerusakan tabel belum terjadi lagi.
Akhirnya, masih ada masalah lagi yang belum terpecahkan, yaitu kenapa tabel MySQL bisa crashed segala dan bagaimana mencegah crash tersebut?
ahmadabdulhaq wrote on May 5, ’08
Baru saja terjadi crashed lagi. Ternyata untuk repair bisa dari komputer mana saja, tidak harus datang atau remote access ke server. Cukup dari SQLyog yang terinstall di client.
jamurkuping wrote on May 5, ’08
mas, itu biasanya gara-gara listrik mati… atau komputer mati mendadak..
jadi masih ada user yang koneksi ke DB MySQL tapi tahu-tahu putus…
jadi MySQL gak sempat mutusin koneksi
caranya ya memang dengan perintah repair table via console (command prompt) setelah login ke DB
ahmadabdulhaq wrote on May 13, ’08
ahmadabdulhaq said
Seperti ini dia pesan errornya, “table d_spmind marked as crashed and must be repair.”
Ternyata nggak selalu seperti itu euy. Tabel juga bisa crashed sebagian saja yang akibatnya record hanya terbaca sebagian. Saya baru tahu setelah beberapa satker pagunya kosong dan pagu global merosot dari 10 T menjadi hanya 6 M. Data pagu pulih setelah saya lakukan “repair table d_pagub”.
Table yang crashed juga kadang-kadang menimbulkan pesan error “Microsoft OLE DB Provider for ODBC Drivers error ‘80040e21’
ODBC driver does not support the requested properties.” Kalau yang seperti ini, bisa jadi salah satu tabel yang disebut di query (SQL) dalam keadaan crashed. Repair saja bila perlu.
ahmadabdulhaq wrote on May 14, ’08, edited on May 14, ’08
Gila. Hari ini d_pagub crashed sekitar lima kali. Untuk mengatasi itu, terpaksa saya menambahkan ini di halaman detail_satker.asp (setelah baris ConnectDB):
set rstTable = server.createobject(“ADODB.Recordset”)
strSQLtable = “repair table d_pagub”
rstTable.open strSQLTable, con, 3, 3
ahmadabdulhaq wrote on May 23, ’08
ahmadabdulhaq said
saya menambahkan ini di halaman detail_satker.asp (setelah baris ConnectDB):
set rstTable = server.createobject(“ADODB.Recordset”)
strSQLtable = “repair table d_pagub”
rstTable.open strSQLTable, con, 3, 3
Ada lagi nih problem hari ini, teman-teman.
Tabel d_pagub di server web tidak utuh. Akibatnya, ada satker yang pagunya berkurang miliaran rupiah. Sudah di-repair berulang-ulang tidak berubah juga.
O-la-la, ternyata masalahnya bukan kerusakan tabel, melainkan kegagalan copy akibat perintah batch yang tidak tepat. Coba perhatikan listing file COPY_DB08.BAT berikut ini:
1: xcopy \172.17.214.101data$sqldb*.* C:mydb8datasqldb /d/y
2: rem …
3: net stop mysql
4: xcopy \172.17.214.101data$*.* C:mydb8data /d/y
5: net start mysql
6: xcopy \172.17.214.101data$sqldb*.* E:BACKUPdb08sqldb /d/y
Biang keroknya ada di baris 1. Ini terkait dengan penambahan perintah “repair table d_pagub” di di halaman detail_satker.asp tersebut yang menyebabkan file d_pagub.* selalu baru, sehingga perintah “xcopy /d” tidak akan pernah mengcopy d_pagu.* karena file sumber dianggap file lama.
Untuk mengatasi hal tesebut, tadi saya mengisi baris kedua dengan perintah beikut (/d dihilangkan):
2: xcopy \172.17.214.101data$sqldbd_pagub.myd C:mydb8datasqldb /y
hallo perkenalkan nama saya Andry. saya punya kendala yang serupa, namun kali ini terjadi pada aplikasi menggunakan Vb 6.0.
mohon bantuan dari bapak, bagaimana cara mengatasinya?
terimakasih
Wah, kayanya saya tidak lagi sanggup menjelaskannya 🙂
Sudah hampir 10 tahun yang lalu.
Coba cek ke sini, Mas: http://ahmad.web.id/tabel-mysql-marked-as-crashed/#comment-1958715407 (masih di bagian komentar artikel ini).
assalammualaikum.. salam sejahtera.
ingin berbagi sedikit informasi. setelah searching sana-sini, bertanya dengan beberapa teman akhirnya saya menemukan cara mengatasi Crashed pada database MySql. cara pertama yang saya dapatkan yaitu menggunakan XXAMPP. tetapi saya tidak begitu mengetahui langkah-langkah detailnya. cara kedua (yang saya gunakan) yaitu dengan bantuan aplikasi Navicat For MySql.
Banyak terima kasih, Mas @andreyakira:disqus 🙂
Semoga sedikit sharing tersebut bermanfaat untuk banyak orang.