Ringkasan: Dalam posting ini, kita akan membahas beberapa cara terbaik untuk memperbaiki tabel InnoDB yang rusak di MySQL, yang mungkin rusak karena kegagalan perangkat keras, kerusakan Server MySQL, dan alasan lainnya. Cara-cara ini terdiri dari prosedur langkah demi langkah untuk memperbaiki tabel InnoDB yang rusak secara manual atau dengan menggunakan perangkat lunak perbaikan MySQL.
Mulai dari versi MySQL 5.5, InnoDB digunakan sebagai mesin penyimpanan default untuk semua tabel baru dalam database MySQL. Hal yang hebat tentang InnoDB adalah mendukung pemulihan kerusakan. Dengan demikian, tidak mudah rusak, tetapi ketika itu terjadi, itu mungkin terjadi karena MySQL Server crash setelah reboot, kegagalan perangkat keras atau bug di platform yang mendasarinya, dll.
Ketika tabel InnoDB rusak, data di dalamnya menjadi tidak dapat dibaca dan tidak dapat diakses. Dan, upaya untuk membaca dari tabel yang rusak dapat menyebabkan Server MySQL mogok.
Bagaimana Cara Memperbaiki Tabel InnoDB yang Rusak di MySQL?
Catatan: Sebelum mencoba memperbaiki tabel InnoDB yang rusak, pastikan untuk membuat cadangan file database MySQL Anda terlebih dahulu.
Berikut adalah cara yang dapat digunakan untuk memperbaiki tabel database InnoDB yang rusak
1. Perbaiki Tabel InnoDB yang Rusak Secara Manual
Anda jarang perlu memperbaiki tabel InnoDB, karena mesin penyimpanan membantu melakukan pemulihan kerusakan yang dapat memperbaiki sebagian besar masalah setelah server dimulai ulang. Namun, mungkin timbul situasi di mana Anda perlu membangun kembali atau memperbaiki tabel yang rusak secara manual. Inilah cara Anda melakukannya:
Langkah 1:Mulai ulang Layanan MySQL
Mulai ulang Layanan MySQL, untuk memeriksa apakah Anda dapat mengakses server, dengan melakukan hal berikut:
- Buka jendela Jalankan dengan mengeklik ‘Windows+R’ kunci bersama.
- Ketik msc dan tekan Enter .
- Dari Layanan jendela, cari Layanan MySQL dan klik kanan padanya, lalu klik restart .
Jika server dapat diakses, lewati ke Langkah 3. Namun jika server tidak memulai atau terus mogok, gunakan opsi innodb_force_recovery yang dijelaskan di langkah berikutnya.
Langkah 2:Paksa Pemulihan InnoDB
Aktifkan innodb_force_recovery opsi dalam file konfigurasi MySQL my.cnf untuk mendapatkan kembali akses ke database MySQL dan tabelnya yang rusak. Untuk melakukannya, ikuti langkah-langkah berikut:
- Buka file my.cnf dan tambahkan baris kode berikut di bagian [mysqld]:
[mysqld] Innodb_force_recovery=1
- Simpan dan tutup file konfigurasi.
- Coba untuk memulai ulang layanan MySQL lagi.
Langkah 3:Singkirkan Tabel yang Rusak
Setelah Anda dapat mengakses tabel yang rusak, buang data tabel ke file baru menggunakan perintah mysqldump berikut:
mysqldump –u user –p db_name table_name > single_dbtable_dump.sql
Catatan: Tambahkan nama tabel yang dipisahkan dengan spasi pada perintah di atas untuk membuang beberapa tabel.
Sekarang, jatuhkan tabel yang rusak dari database:
mysql –u user –p –execute=”DROP TABLE db_name.table_name”
Langkah 4:Pulihkan Tabel
Gunakan file dump yang baru dibuat untuk memulihkan tabel dari file dump (yaitu, single_dbtable_dump):
mysql –u user –p < single_dbtable_dump.sql
Langkah 5:Mulai ulang MySQL dalam Mode Normal
Ketika tabel yang rusak diperbaiki, hentikan Layanan MySQL dan nonaktifkan mode pemulihan InnoDB dengan memasukkan baris berikut di bagian [mysqld]:
#innodb_force_recovery=...
Sekarang restart Layanan MySQL dalam mode normal.
Catatan: Jika Anda belum menggunakan opsi innodb_force_recovery, cukup hentikan dan mulai ulang server dalam mode normal.
2. Perbaiki Tabel InnoDB yang Rusak dengan Menggunakan Perangkat Lunak Perbaikan MySQL
Menggunakan nilai 'innodb_force_recovery' lebih besar dari 4 untuk mendapatkan kembali akses ke database dapat menyebabkan korupsi data. Juga, dalam kasus korupsi parah, Anda mungkin gagal me-restart server MySQL Anda. Anda dapat mengatasi keterbatasan ini dalam memperbaiki tabel database MySQL yang rusak secara manual dengan menggunakan perangkat lunak perbaikan MySQL khusus seperti Perbaikan Stellar untuk MySQL.
Perangkat lunak ini dapat memperbaiki dan memulihkan tabel InnoDB dari database MySQL sambil menjaga datanya tetap utuh. Juga, ini membantu memulihkan properti tabel, kunci, batasan hubungan, dll.
Utilitas perbaikan database MySQL ini membantu memperbaiki tabel InnoDB dan MyISAM yang dibuat pada sistem berbasis OS Windows dan Linux.
Langkah-langkah Memperbaiki Tabel InnoDB Corrupt menggunakan software adalah sebagai berikut:
- Unduh, instal, dan jalankan gratis Perbaikan Stellar untuk MySQL
- Dari Pilih Folder Data kotak dialog, pilih versi MySQL yang Anda gunakan, lalu klik OK .
- Dari Pilih Basis Data kotak, pilih database yang ingin Anda perbaiki, lalu klik Perbaiki .
- Pratinjau database yang diperbaiki, tabel, dan komponen lain yang dapat dipulihkan ditampilkan di jendela pratinjau perangkat lunak.
- Pilih tabel yang ingin Anda pulihkan, lalu klik menu Simpan di File.
- Dari Simpan Basis Data kotak, pilih MySQL di bawah Simpan Sebagai , dan masukkan kredensial yang diperlukan untuk Menghubungkan ke Server. Klik Simpan .
Anda dapat menemukan file database yang telah diperbaiki di folder baru di lokasi yang sama dengan tempat penyimpanan database asli Anda.
Anda dapat menemukan file database yang telah diperbaiki di folder baru di lokasi yang sama dengan tempat penyimpanan database asli Anda.
Kesimpulan
Korupsi dalam tabel InnoDB dapat membuat data di dalamnya tidak dapat dibaca, dan jika tidak ditangani dengan tepat waktu, bahkan dapat mengakibatkan server mogok dan waktu henti yang tidak direncanakan. Anda dapat memperbaiki tabel InnoDB yang rusak dengan mengikuti prosedur langkah-langkah manual. Namun, proses manual untuk memperbaiki tabel InnoDB dapat mengakibatkan hilangnya data dan mungkin tidak memberikan hasil yang diharapkan.
Namun, dengan menggunakan alat perbaikan database MySQL seperti Stellar Repair untuk MySQL, Anda dapat memperbaiki tabel di mesin penyimpanan InnoDB dan memulihkannya ke status fungsional aslinya. Utilitas perbaikan file ini membantu memperbaiki database MySQL yang dibuat pada OS Windows dan Linux. Itu tidak hanya dapat memperbaiki tabel InnoDB tetapi juga dapat memperbaiki kerusakan pada tabel MyISAM dari database MySQL.