Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Bảng MySQL được đánh dấu là bị lỗi

Bảng MyISAM rất dễ bị lỗi. Có thông tin tiêu đề trong mỗi bảng theo dõi số lượng tệp đang mở xử lý một bảng MyISAM.

Nếu mysqld gặp sự cố, bất kỳ bảng MyISAM nào có xử lý tệp đang mở sẽ không bao giờ có cơ hội giảm số lượng xử lý tệp khi mỗi lần đóng xử lý tệp. Do đó, nếu một trình xử lý tệp mới mở bảng MyISAM (tệp .MYD) và mysqld phát hiện ra sự không khớp giữa số lượng xử lý tệp mà bảng MyISAM tin là đang mở và số tệp xử lý bảng MyISAM thực sự đã mở, bảng này sẽ được tuyên bố là đã gặp sự cố.

Có bốn (4) phương pháp để xử lý điều này:

PHƯƠNG PHÁP # 1:Thiết lập sửa chữa MyISAM tự động

Xem bài đăng của tôi https://dba.stackexchange.com/a/15079/877 về cách thiết lập điều này khi khởi động lại MySQL (ngày 15 tháng 3 năm 2012)

PHƯƠNG PHÁP # 2:Sử dụng InnoDB thay vì MyISAM

InnoDB có tính năng khôi phục sự cố được tích hợp trong quá trình khởi tạo của Storage Engine. MyISAM không

PHƯƠNG PHÁP # 3:Sử dụng Aria thay vì MyISAM

Aria là sự thay thế của MariaDB cho MyISAM. Nó có các cơ chế khôi phục sự cố cho các bảng riêng lẻ.

PHƯƠNG PHÁP # 4:Không giết -9 trên mysqld

Nếu mysqld gặp sự cố, cố ý hoặc vô tình, thông tin tiêu đề cho tất cả các bảng MyISAM đang mở sẽ khiến chúng rơi vào trạng thái bị treo. Tránh phải giết mysqld theo cách thủ công.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cập nhật đồng thời MySQL

  2. Người dùng Wordpress và usermeta - nối nhiều hàng trong một bảng thành một hàng trong bảng khác

  3. PostgreSQL:một mẫu gán biến hợp lệ?

  4. Làm thế nào để thực hiện một truy vấn được lưu trữ trong một cột bảng MySQL?

  5. Rails + MySQL trên Mavericks - Thư viện không được tải:libmysqlclient.18.dylib