Sửa lỗi “MySQL innodb checksum mismatch”

Khi bạn tìm thấy lỗi InnoDB: Error: checksum mismatch in data file ./ibdata1 (or ./ibdataX) tại mysql error log, điều đó có nghĩa là ibdata checksum không chính xác dẫn đến CSDL MySql của bạn bị crash không thể khởi động được.

Sau đây mình sẽ hướng dẫn xử lý lỗi trên, mình đã thử thực tế trên server Centos 7; Mariadb phiên bản mysqld 5.5.65-MariaDB

Cách xử lý lỗi checksum mismatch in data file ./ibdata1

Log hiển thị thông báo lỗi

Để kiểm tra lỗi bạn có thể sử dụng câu lệnh sau để kiểm tra:

~ $ innochecksum -d ibdata1

Cách xử lý lỗi

Đầu tiên bạn Mở file: /etc/my.cnf > thêm dòng

innodb_force_recovery = 4

Tiếp theo khởi động CSDL bằng câu lệnh

~ $ /etc/init.d/mysql start

Trong quá trình CSDL khởi động bạn xem log hệ thống và đợi khi CSDL Mysql khởi động hoàn thành. Log được hiển thị theo dạng như sau

Hoàn thành khôi phục sau đó cần thực hiện xóa hoặc comment lại cấu hình innodb_force_recovery trong /etc/my.cnf và tiến hành kill process mysql

~ $ killall -9 mysqld

Sau đó khởi động lại CSDL Mysql

~ $ /etc/init.d/mysql start

Các bước hoàn tất bạn đã khắc phục xong lỗi checksum mismatch in data file ./ibdata1

Trả lời 0

Your email address will not be published. Required fields are marked *