在我的一个InnoDB表中执行条件DELETE操作时,显然需要在ibdata1中创建一些临时表,硬盘已经填满并且
mysql崩溃了.在删除ibdata1文件(~30 GB)之前,我无法再次启动它.
现在mysql再次启动,但数据库中的所有表似乎都已损坏(当我执行REPAIR TABLE tablename EXTENDED时,我得到:
+-----------------------------------+--------+----------+---------+
| Table | Op | Msg_type | Msg_text |
+-----------------------------------+--------+----------+---------+
| mydb.table1 | repair | Error | Unknown table engine 'InnoDB' |
| mydb.table1 | repair | error | Corrupt |
+-----------------------------------+--------+----------+---------+
我正在使用innodb_file_per_table选项,以便我的所有.frm和.ibd文件(分别包含元数据和数据)都完好无损(在崩溃之前具有相同的文件大小),在目录中:/ var / MySQL的/数据/ MYDB /.有谁知道我怎么能让mysql再次用适当的数据识别这些表?
谢谢!