由于我的计算机系统错误,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
':表空间 遗漏表reservation
。question
。 (1812)
没有其他选择吗?
如果没有.ibd文件,是否无法进行数据恢复? 我想在“ reservation.question”中恢复数据。
答案 0 :(得分:0)
.frm
文件仅包含有关表结构的数据,而不包含其内容。 .ibd
文件保存表的内容-如果删除了该表,则数据将丢失。