恢复mysql数据--使用frm和ibd文件

1.另找一mysql(我选择本地win7,主要是考虑重启比较方便)

2.创建同名数据库,注意检查修改为独立存储空间(若非,可在my.ini中添加[mysqld]
innodb_file_per_table=1,并重启)

3.在库中创建同名表(字段名及数量无所谓,本地mysql版本为5.6.36-log,见网上也有说对列有要求的,可能和mysql版本有关)

4.停掉mysql服务,替换frm文件

5.启动mysql服务,检查表结构是否已同步。同步成功后导出表的结构语句,在新的数据库下执行建表语句。

以上成功,很顺利。

6.停mysql服务。

7.修改已存在的ibd文件名,防止覆盖。

8.复制要恢复的ibd文件,并修改ibd文件中此位置 (3行 4589列,见下图)与替换前中一致.


8.在my.ini中添加

innodb_force_recovery=5

9.重启mysql服务。

10.能查询到数据即成功。

最后别忘了把innodb_force_recovery修改回去。

你可能感兴趣的:(恢复mysql数据--使用frm和ibd文件)