Sửa lỗi: Mysqli table is marked as crashed and last automatic repair failed

Thảo luận trong 'Kiến thức lập trình SQL & MySQL' bắt đầu bởi admin, 30/10/18.

  1. admin

    admin Phạm Công Sơn Thành viên BQT

    Tham gia ngày:
    22/5/13
    Bài viết:
    4,214
    Đã được thích:
    921
    Điểm thành tích:
    113
    Giới tính:
    Nam
    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.

    loi-mysqli-prepare-error-table-is-marked-as-crashed-and-last-automatic-repair-failed.jpg

    Để 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

    truy-cap-phpmyadmin-tren-plesk-web-admin-edition.jpg

    Nếu bạn sử dụng Directadmin để quản trị hosting

    truy-cap-phpmyadmin-tren-directadmin-web-control-panel.jpg

    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.

    check-choise-table-to-repair-table.jpg

    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.

    repair-table-in-xenforo.jpg

    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
    
     
    Cảm ơn đã xem bài:

    Sửa lỗi: Mysqli table is marked as crashed and last automatic repair failed

    danh sách diễn đàn rao vặt gov chất lượng


Like và Share ủng hộ ITSEOVN