Answers:
恐怕您不能删除数据库。
问题出在表已损坏。它不一定是.ibd
文件。很有可能是ibdata1中的数据字典条目(请参阅ibdata1的图示)。
我在后面写过Mar 02, 2012
:InnoDB表SELECT返回错误2006(HY000):MySQL服务器已消失(断电后)
尽管繁琐,但是您可以执行以下操作将其他表保存到该损坏的数据库中bad_db
:
步骤01) USE bad_db
步骤02)SELECT COUNT(1) FROM tablename;
为中的每个表运行bad_db
。收集所有试图运行计数时不会使mysqld崩溃的表名。
步骤03)运行mysqldump -u... -p... bad_db table1 table2 ... tableN > bad_db_goodtables.sql
所有不会使mysqld崩溃的表。
如果要使用其他数据库名称,请重新加载bad_db_goodtables.sql
到该新数据库中。
如果您需要数据库使用相同的名称,则BAD NEWS !!!!您将对ibdata1进行大修。还有更多步骤:
步骤04)mysqld将所有其他数据库转储到单独的转储文件中
步骤05)执行InnoDB基础结构清理(请参阅我的Oct 29, 2010
StackOverflow帖子)
步骤06)重新加载所有其他mysqldumps好的数据库。
试试看 !!!