mysql .ibd文件已删除。我要DB数据恢复

时间:2018-10-08 19:11:44

标签: mysql

由于我的计算机系统错误,MySql数据文件夹中的某些MySql .ibd文件被删除。而且只剩下.frm文件。 因此,表'reservation'。'question'缺少表空间。已发生错误。

预订是数据库。问题是桌子。

我测试了以下恢复数据的方法。

第一种方法:

1。备份.frm文件。

2。使用SQL查询创建表。

3。执行以下命令。

SELECT * FROM reservation.answer2;
ALTER TABLE reservation.answer2 DISCARD TABLESPACE;
ALTER TABLE reservation.answer2 IMPORT TABLESPACE;

此方法的结果不是数据恢复。

第二种方法

1。我在my.ini中添加了一个属性

 [mysqld]
 innodb_force_recovery = 1

2。然后执行以下命令。

mysqldump -u root -p --lock-all-tables reservation.question > c:\dump20171009.sql;

'-锁定所有表'的添加是由于'使用LOCK TABLES时 操作失败,退出代码为2'

此命令发生此错误。

  

mysqldump:无法执行'show create table question':表空间   遗漏表reservationquestion。 (1812)

没有其他选择吗?

如果没有.ibd文件,是否无法进行数据恢复? 我想在“ reservation.question”中恢复数据。

1 个答案:

答案 0 :(得分:0)

.frm文件仅包含有关表结构的数据,而不包含其内容。 .ibd文件保存表的内容-如果删除了该表,则数据将丢失。