MYSQL .ibd文件数据恢复

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL .ibd文件数据恢复相关的知识,希望对你有一定的参考价值。

恢复还原mysql中的.ibd文件。
1、需先创建一个一样的数据库表结构
2、删除表空间
ALTER TABLE "+dbName+" DISCARD TABLESPACE;
3、复制xxxxx.ibd文件到数据库目录下

4、恢复导入表空间
ALTER TABLE "+dbName+" IMPORT TABLESPACE;

--------恢复frm表结构------`切记:一定要按照顺序操作,否则库会死掉,要重新安装重新来一波`------------------

1、正常mysql服务中创建同样的表名,字段随意1个,表名必须与.frm完全一致
create table app_info(id int);

2、停止数据库服务my.ini中追加
【mysqld】
innodb_force_recovery=6
3、把*.frm进行物理覆盖
4、启动服务执行
desc app_info报错,找到.err文件中的真实列数(我的事例中可以看出是7列)
技术图片

5、停止服务,去掉my.ini中的innodb_force_recovery=6,再启动服务,删除数据表。
删除后创建对应的列数表
create table app_info(id1 int,id2 int,id3 int,id4 int,id5 int,id6 int,id7 int);

6、重复2、3步骤
服务启动后执行desc即可看到完整的表结构
技术图片

然后选中表右键“对象信息”可以看到DLL
技术图片

7、再次停止服务,去掉my.ini中的innodb_force_recovery=6,再启动服务,删除数据表,指定获取的真实dll即可还原表结构

以上是关于MYSQL .ibd文件数据恢复的主要内容,如果未能解决你的问题,请参考以下文章

mysql ibd文件 怎么删除

mysql数据库被破坏,只剩下ibd文件时如何恢复

MYSQL .ibd文件数据恢复

MySQL 8.0 恢复孤立文件每表ibd文件

如何从ibd文件中恢复数据

如何从ibd文件中恢复数据