Các chỉ số innodb_force_recovery trong cấu hình MySQL

  • Saturday 01/02/2020

Cấu hình trong file my.cnf

[mysqld]

innodb_force_recovery = “value”

Tùy chọn này chi áp dụng cho database sử dụng kiến innodb.

– Thiết lập giá trị innodb_force_recovery = 1 (SRV_FORCE_IGNORE_CORRUPT) : sẽ không sửa lại các dữ liệu bị lỗi. Nó sẽ bỏ qua các lỗi này để cho phép sao lưu lại dữ liệu trước khi xây dựng lại database.

– Thiết lập giá trị: innodb_force_recovery = 2 (SRV_FORCE_NO_BACKGROUND) : sẽ ngăn chặn các luồng master đang vận hành . Nếu có lỗi xảy ra khi tiến trình lọc đang hoạt động. Giá trị recovery này sẽ ngăn chặn lại.

– Thiết lập giá trị: innodb_force_recovery = 3 (SRV_FORCE_NO_TRX_UNDO) : Không chạy transaction rollbacks sau khi khôi phục.

– Thiết lập giá trị: innodb_force_recovery = 4 (SRV_FORCE_NO_IBUF_MERGE): Ngăn chặn việc thêm các tác vụ hợp nhất bộ nhớ đệm. Nếu có lỗi xảy ra thì sẽ không thực hiện, không thống kê tính toán các table. Giá trị này có thể làm hỏng file data.

– Thiết lập giá trị: innodb_force_recovery = 5 (SRV_FORCE_NO_UNDO_LOG_SCAN) : Bỏ qua undo logs khi start database, InnoDB xử lý ngay các transaction chưa hoàn tất. Giá trị này có thể làm hỏng data file.

– Thiết lập giá trị: innodb_force_recovery = 6 (SRV_FORCE_NO_LOG_REDO): Không thực hiện log roll-forward trong kết nối với việc khôi phục. Giá trị này có thể làm hỏng data file

– Roll forward là khôi phục tất cả giao dịch đã hoàn thành khi hệ thống xảy ra sự cố.

* Thông tin tham khảo :

https://dev.mysql.com/doc/refman/8.0/en/forcing-innodb-recovery.html