2010-02-19 7 views
5

Tôi đã có một bảng với các cột phức tạp, tôi bắt đầu điền vào nó với một dữ liệu nặng, trong thời gian đó, nó bị hỏng.Làm thế nào để sửa chữa một bảng MySQL mà không cần sử dụng phpMyAdmin?

bảng được báo cáo là đã bị lỗi và cần được sửa chữa.

Bảng sửa chữa trong phpmyadmin không thể sửa chữa được.

Sau đó, tôi quyết định bắt đầu quá trình điền lại, nhưng tôi thậm chí không thể truy xuất cấu trúc bảng.

Làm cách nào để lấy lại dữ liệu? Hay chỉ là cấu trúc?

(i chạy mysql dưới xampp/cửa sổ trên một quad AMD)

Trả lời

10

PHPMyadmin có xu hướng gặp sự cố khi thực hiện truy vấn dài. Nếu nó không thực hiện được bảng sửa chữa với một thông báo lỗi cụ thể, vui lòng đăng nó. Nếu nó chỉ treo, bạn shoul thử sửa chữa bằng cách sử dụng phiên bản dòng lệnh của mysql, nó nằm trong thư mục bin của cài đặt mysql của bạn.

mysql -u username -p 
mysql> use dbname; 
mysql> repair table tablename; 

tùy thuộc vào kích thước của bảng, điều này có thể mất một thời gian.

Nếu điều đó không hiệu quả, động thái tiếp theo của bạn là sử dụng myisamchk nếu bảng của bạn sử dụng động cơ MyISAM.

+0

nó chỉ hoạt động. cảm ơn. – Alexar

7

Nếu bảng của bạn là trong MyISAM, myisamchk là công cụ đầu tiên để kiểm tra. Nó nằm trong thư mục /bin của bản cài đặt mySQL của bạn. Dưới đây là danh sách repair options của nó.

Bạn nên tạo bản sao lưu thư mục dữ liệu trước khi chạy myisamchk trên đó, chỉ trong trường hợp.

+0

cảm ơn câu trả lời. tôi đã học được từ nó. – Alexar