Không có gì bạn thực sự có thể làm được vì việc khôi phục lại đang được thực hiện thông qua không gian bảng UNDO bên trong ibdata1 , vốn đã phát triển vô cùng.
Nếu bạn giết tiến trình mysqld và khởi động lại mysql, nó sẽ chỉ chọn nơi nó rời đi như một phần của chu kỳ khôi phục sự cố.
TUYÊN BỐ TỪ CHỐI: Không chịu trách nhiệm về mất dữ liệu
Những gì bạn có thể làm có thể dẫn đến mất dữ liệu cho các bảng khác, nhưng có một số điều bạn có thể làm để tránh chu kỳ khôi phục sự cố thông thường của InnoDB.
Có một tùy chọn khởi động được gọi là innodb_force_recovery , cho phép bạn bỏ qua các giai đoạn khác nhau của phục hồi sự cố InnoDB.
Theo Tài liệu MySQL về Buộc InnoDB Recovery , đây là các cài đặt và tác dụng của nó:
1 (SRV_FORCE_IGNORE_CORRUPT)
Hãy để máy chủ chạy ngay cả khi nó phát hiện một trang bị hỏng. Cố gắng thực hiện CHỌN * TỪ tbl_name nhảy qua các bản ghi chỉ mục và trang bị hỏng, điều này giúp trong việc đổ bảng.
2 (SRV_FORCE_NO_BACKGROUND)
Ngăn chặn luồng chủ chạy. Nếu sự cố sẽ xảy ra trong quá trình thanh lọc, giá trị khôi phục này sẽ ngăn chặn nó.
3 (SRV_FORCE_NO_TRX_UNDO)
Không chạy rollback giao dịch sau khi phục hồi sự cố.
4 (SRV_FORCE_NO_IBUF_MERGE)
Ngăn chặn chèn hoạt động hợp nhất bộ đệm. Nếu chúng gây ra sự cố, đừng làm chúng. Không tính toán thống kê bảng.
5 (SRV_FORCE_NO_UNDO_LOG_SCAN)
Không nhìn vào nhật ký hoàn tác khi bắt đầu cơ sở dữ liệu: InnoDB xử lý ngay cả các giao dịch chưa hoàn thành như đã cam kết.
6 (SRV_FORCE_NO_LOG_REDO)
Không thực hiện cuộn lại nhật ký liên quan đến phục hồi.
Với các thay đổi giao dịch được chôn trong nhật ký của UNDO và REDO, bạn có nguy cơ
- mất dữ liệu có nghĩa là được viết
- giữ dữ liệu có nghĩa là bị xóa
Trong trường hợp bạn mong đợi các tác dụng phụ xấu, hãy sao lưu toàn bộ / var / lib / mysql và đặt nó ở đâu đó trong trường hợp bạn muốn sao chép ibdata1, ib_logfile0 và ib_logfile1 và thử lại phục hồi bình thường.
Nếu mysql hoàn toàn ở một trong các chế độ
- mysqldump tất cả dữ liệu ngoại trừ bảng vi phạm
- tắt máy tính
- xóa mọi thứ trong / var / lib / mysql ngoại trừ / var / lib / mysql / mysql
- bắt đầu mys
- tải lại mysqldump
CAVEAT: Hãy chắc chắn rằng bạn sao lưu mọi thứ !!!
Tôi hi vọng cái này giúp được !!!