Saya baru saja mengalami ini, awalnya menampilkan dirinya sebagai "mysql respawning terlalu cepat
" kesalahan dalam dmesg
log.
Dari membaca di tempat lain Saya menelusurinya hingga ke apa yang Anda temukan, dan saya pikir ini menunjukkan beberapa jenis kerusakan pada file metadata InnoDB. InnoDB melakukan hal-hal seperti memastikan integritas transaksi/rollback dan integritas kunci asing utama. Itulah yang diperingatkan oleh kesalahan "checksum mismatch".
Anda tidak mengatakan bagaimana Anda memulai mysqld, tetapi mungkin Anda menggunakan beberapa varian pada /etc/init.d/mysqld start
atau service mysqld start
. Jalankan daemon secara eksplisit sebagai perintah:
sudo /usr/sbin/mysqld --innodb_force_recovery 0
dan, selama Anda tahu mengapa Anda melakukannya, secara bertahap tingkatkan nilai nol --innodb_force_recovery
sampai proses dimulai.
Peringatan: innodb_force_recovery parameter menentukan seberapa serius mysqld akan mencoba "memperbaiki paksa" kesalahan checksum dalam penyimpanan InnoDB. Jadi Anda dapat memperburuk masalah, atau perlu membangun kembali indeks nanti, jika Anda memaksa memperbaiki dengan angka tinggi di sini, karena InnoDB akan melakukan lebih banyak hal drastis untuk mencoba memperbaiki dirinya sendiri.
Setiap kali Anda gagal me-restart mysqld
dengan nomor tertentu mis. 2
, Anda harus mencari pesan kesalahan yang Anda dapatkan sebelum menambahkannya ke 3
sehingga Anda dapat yakin bahwa Anda melakukan hal yang benar. Saya bukan ahli dalam setiap kesalahan yang mungkin Anda dapatkan, jadi saya tidak dapat memberikan umpan balik untuk setiap kondisi luar biasa:yang saya katakan hanyalah, gunakan --innodb_force_recovery
dengan hati-hati!