Làm việc với cơ sở dữ liệu hoặc xử lý web PHP thường bị lỗi: mysqli prepare error: table '.mytable' is marked as crashed and last (automatic?) repair failed trong PHP hay web PHP hay diễn đàn Xenforo làm bạn không lưu được dữ liệu xuống database hoặc lỗi này gây ra không truy xuất được dữ liệu. Lỗi do: lỗi phát sinh do database của bạn bị lỗi dữ liệu hoặc bị lỗi làm database mysql trên vps bị lỗi các trường dữ liệu của tabale. Để sửa lỗi: Mysqli table is marked as crashed and last automatic repair failed bạn làm như sau: bước đầu bạn cần xách định tabale database nào bị lỗi thông qua thông báo trên. Với thông báo trên của mình table bị lỗi của mình có tên: xf_search_index của diễn đàn xenforo. Cách 1: làm việc với phpMyAdmin Cách này rất dễ thao tác cho các bạn không biết lập trình, không biết code, không biết xử lý phía server ssh, vps. Trước tiên bạn đăng nhập vào hosting của web và truy cập vào phpMyAdmin của database của bạn giống như hình dưới. Nếu bạn sử dụng trình quản lý Plesk web admin edition Nếu bạn sử dụng Directadmin để quản trị hosting Sau khi truy cập vào xong bạn tìm tới cái table database mà thông báo ở trên ví dụ ở trên của mình là: xf_search_index tìm tới table này. Clcik check chọn nó ở nút bên tay trái như hình. Tiếp theo ở combox With selected: bạn click chọn Repair table sau đó đợi mysql khôi phục lại bảng này cho bạn. Thời gian đợi thường hơi lâu tầm từ 5 phút tới 10 phtus. Khi nào xong thì mysql sẽ báo cho bạn biết. Sau khi xong bạn đăng nhập vào sử dụng lại web, mysql sẽ hết lỗi trên. Cách 2: xử lý trên VPS thông qua quản trị SSH của VPS Bạn nào biết về VPS thì nên dùng cách 2 còn không thì sử dụng cách 1 là OK rồi. Cách 2 thì xử lý sẽ nhanh hơn cách 1 về thời gian VPS xử lý khôi phục table. Cách làm như sau: b1: Đầu tiên bạn đăng nhập và SSH (VPS) của bạn với quền truy cập cao nhất root. b2: Tiếp theo bạn stop dừng chạy mysql server lại bằng lệnh. Mã: # service mysql stop b3: Đi tới dabase table của bạn đang chạy trên VPS mặc định thường ở thư mục var/lib/mysql/ với lệnh Mã: # cd /var/lib/mysql/YOUR_DATABASE_NAME Thay YOUR_DATABASE_NAME bằng tên database name của bạn b4: Khởi chạy khôi phục Repair table của bạn bằng lệnh: Myisamchk như sau Mã: # myisamchk -r -v -f ./your_table_repair Thay your_table_repair bằng tên table bị lỗi của bạn ở trên, ví dụ your_table_repair thay bằng xf_search_index. b5: Bạn đợi 1 lúc để VPS khôi phục lại table. Sau khi xong bạn chạy lại MYSQL bằng lệnh sau: Mã: # service mysql start