Tôi sợ bạn không thể bỏ cơ sở dữ liệu.
Vấn đề đến bảng là tham nhũng. Nó không nhất thiết phải là .ibd
tập tin. Đó là, nhiều khả năng, mục từ điển dữ liệu trong ibdata1 ( Xem hình đại diện của ibdata1 ).
Tôi đã viết về điều này trở lại Mar 02, 2012
: Bảng InnoDB CHỌN trả về ERROR 2006 (HY000): Máy chủ MySQL đã biến mất (sau khi mất điện)
Mặc dù tẻ nhạt, đây là những gì bạn có thể làm để lưu các bảng khác trong cơ sở dữ liệu bị hỏng đó bad_db
:
BƯỚC 01) USE bad_db
BƯỚC 02) Chạy SELECT COUNT(1) FROM tablename;
cho mọi bảng trong bad_db
. Thu thập tất cả các tên bảng không gặp sự cố mysqld khi bạn cố chạy số đếm.
BƯỚC 03) Chạy mysqldump -u... -p... bad_db table1 table2 ... tableN > bad_db_goodtables.sql
cho tất cả các bảng không gặp sự cố mysqld.
Nếu bạn định sử dụng một tên cơ sở dữ liệu khác, thì hãy tải lại bad_db_goodtables.sql
vào cơ sở dữ liệu mới đó.
Nếu bạn cần cơ sở dữ liệu cùng tên, BAD News !!! Bạn sẽ có đại tu ibdata1. Có nhiều bước hơn:
BƯỚC 04) mysqldump tất cả các cơ sở dữ liệu khác vào các tệp kết xuất riêng biệt
BƯỚC 05) Thực hiện Dọn dẹp cơ sở hạ tầng InnoDB ( Xem Oct 29, 2010
bài đăng StackOverflow của tôi )
BƯỚC 06) Tải lại tất cả các cơ sở dữ liệu tốt khác của mysqldumps.
Hãy thử một lần !!!