Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Metode Gratis untuk Memperbaiki Database MySQL yang Rusak

Ketika database MySQL menjadi rusak, Anda mungkin bertanya-tanya mengapa database rusak. Posting ini akan menjelaskan kemungkinan alasan di balik kerusakan database sebelum menjawab pertanyaan:bagaimana cara memperbaiki database MySQL yang rusak?

Alasan di balik Korupsi Database MySQL

Database MySQL dapat rusak karena salah satu alasan berikut:

  • Server dimatikan secara tiba-tiba
  • Cacat pada perangkat keras yang digunakan untuk menyimpan dan mengambil data seperti subsistem disk, pengontrol disk, driver, dll.
  • Proses 'mysqld' dimatikan saat pembaruan sedang berlangsung
  • Bug perangkat lunak

Mungkin sulit untuk menentukan penyebab database yang rusak. Apa pun penyebabnya, hal yang harus Anda perhatikan adalah cara memperbaiki database MySQL yang rusak.

Bagaimana Cara Memperbaiki Database MySQL yang Rusak?

Hal pertama yang perlu Anda lihat adalah pesan kesalahan yang Anda dapatkan. Berikut adalah beberapa pesan kesalahan yang mungkin Anda temui ketika database MySQL rusak:

Kesalahan 144: Tabel rusak, dan perbaikan terakhir gagal

Kesalahan 141: Gandakan kunci atau batasan unik saat menulis atau memperbarui

Kesalahan 136: Tidak ada lagi ruang di file indeks

Kesalahan 134: Rekaman sudah dihapus

Kesalahan 126: File indeks macet/format file salah

Kesalahan: Tidak dapat menemukan file 'wtlicensemanager.dll'

Jika Anda ingin melakukan perbaikan tanpa biaya, Anda memiliki dua opsi:

  1. Lakukan secara manual.
  2. Lakukan dengan bantuan perangkat lunak menggunakan masa percobaan.

Perangkat lunak pemulihan basis data dapat melakukan pekerjaan yang lebih baik dan lebih cepat dalam memperbaiki basis data yang rusak.

Berikut adalah salah satu aplikasi software yang dapat Anda gunakan untuk memperbaiki database MySQL yang rusak:

Alat perbaikan database MySQL ini memperbaiki database yang dibuat menggunakan mesin database InnoDB dan MyISAM dari MySQL. Anda dapat mengunduh versi demo alat perbaikan SQL untuk melihat pratinjau basis data yang dapat dipulihkan sebelum menyimpannya.

Fitur Utama:

  • Dapat memulihkan database MySQL pada sistem Windows dan Linux.
  • Memulihkan file InnoDB (.ibdata, .ibd dan .frm) dan file MyISAM (myd, .myi dan .frm)
  • Memulihkan objek database seperti tabel, properti tabel, tipe data, tampilan, pemicu, dll.
  • Memungkinkan pemulihan selektif komponen basis data

Bagaimana Cara Memperbaiki Database MySQL yang Rusak Secara Manual?

Ada dua jenis mesin penyimpanan di MySQL:InnoDB dan MyISAM. Tabel InnoDB berisi file FRM, IBDATA, dan IDB, sedangkan tabel MyISAM berisi file FRM, MYD, dan MYI.

Sebelum Kita Melanjutkan

Berikut adalah beberapa hal yang harus Anda pertimbangkan sebelum mencoba pemulihan manual:

  • Jangan reboot server

Saat Anda me-reboot server, server dapat menempatkan database yang rusak dalam mode tersangka. Ini akan mematikan database. Itu juga dapat membuat kesalahan saat menghubungkan ke database. Anda harus mencoba pemulihan tanpa me-reboot server.

  • Gunakan mode Pengguna Tunggal

Pastikan Anda adalah satu-satunya pengguna yang terhubung ke database. Mode pengguna tunggal memberi Anda seluruh kendali, menghilangkan gangguan pengguna lain.

  • Jangan perbarui MySQL

Anda mungkin berpikir untuk memperbarui database MySQL untuk memperbaiki file yang rusak. Tapi ini tidak terjadi. Upgrade dapat menyebabkan kehilangan data permanen.

  • Ambil Cadangan database MySQL yang rusak

Penting untuk memiliki cadangan file yang rusak karena mungkin ada kesalahan yang dapat menyebabkan Anda kehilangan data. Tidak ada jaminan bahwa langkah manual Anda tidak akan memengaruhi file yang sehat. Jadi aman untuk memiliki cadangan sebelum mencoba pemulihan manual.

Untuk membuat cadangan, gunakan perintah berikut:

mysqldump db_name> database_name.sql

Cukup masukkan nama database Anda sebagai ganti database_name.

Jika cara di atas tidak berhasil, coba yang berikut ini:

mysqldump –u[nama pengguna] –p[sandi] [nama_database]> [dump_file].sql 

Ada cara lain untuk mencadangkan database:

layanan mysqld berhenti

cp -r /var/lib/mysql /var/lib/mysql_bkp

Sekarang setelah kita memiliki cadangan, kita dapat mencoba untuk memperbaiki database MySQL yang rusak.

Bagaimana Memulihkan Database MySQL Secara Manual?

Memperbaiki Basis Data MyISAM

Jika Anda menggunakan mesin penyimpanan database MyISAM untuk tabel database Anda, Anda dapat menggunakan perintah berikut untuk memperbaiki tabel:

Periksa MySQL

Jika server MySQL Anda berjalan, jalankan perintah mysqlcheck berikut untuk memperbaiki tabel Anda:

mysqlcheck -r [nama_database]

Pastikan untuk mengganti 'database_name' dengan nama database Anda.

Myisamchk

Jika server tidak berjalan, coba perbaiki tabel database dengan menggunakan perintah myisamchk:

Catatan: Sebelum menjalankan perintah ini, pastikan server tidak memiliki tabel yang terbuka.

nama_tabel myisamchk

Perbaiki nama tabel dengan nama tabel dalam kasus Anda. Perintah ini secara otomatis memperbaiki tabel Anda.

Untuk me-restart server, ketik berikut ini:

layanan mysqld mulai

Paksakan Pemulihan InnoDB

Anda perlu melakukan pemulihan paksa InnoDB untuk mengekstrak data dari tabel database InnoDB yang rusak.

Langkah 1: Pertama, Anda perlu membuka file my.cnf.

Dalam file ini, temukan bagian [mysqld].

Tambahkan baris berikut ke bagian ini:

innodb_force_recovery=1

Sekarang simpan file konfigurasi dan restart server MySQL. Anda dapat menyetel nilai innodb_force_recovery dari 1 hingga 6. Namun, nilai di atas 4 tidak disarankan, karena dapat merusak data.

Langkah 2: Buang data tabel ke dalam file baru.

Untuk melakukannya, gunakan perintah berikut:

mysqldump –u pengguna –p db_name table_name> single_dbtable_dump.sql

Langkah 3: Jatuhkan tabel yang rusak dari database.

mysql –u user –p –execute=”DROP TABLE db_name.table_name”

Langkah 4: Pulihkan tabel dari file dump.

mysql –u pengguna –p

Langkah 5: Setelah file diperbaiki, nonaktifkan mode pemulihan paksa dengan perintah berikut:

#innodb_force_recovery=…

Sekarang Anda dapat memulai kembali layanan MySQL dalam mode normal.

Kami berharap metode di atas akan membantu Anda memperbaiki database MySQL yang rusak.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Contoh UTC_DATE – MySQL

  2. Apa yang lebih baik di MYSQL count(*) atau count(1)?

  3. Permintaan tabel pivot MySQL dengan kolom dinamis

  4. Tidak ditemukan driver yang cocok untuk 'jdbc:mysql://localhost:3306/mysql

  5. Buat Metode Pengiriman Kustom di OpenCart:Bagian Kedua