Mysql仅从.frm文件和.ibd文件恢复数据表

本文介绍了如何在缺乏数据库结构信息的情况下,仅通过.frm和.ibd文件恢复MySQL中的数据表。首先理解.frm(表结构)和.ibd(InnoDB引擎数据和索引)文件的作用。然后在不同MySQL版本尝试恢复,包括创建匹配的表结构,调整ROW_FORMAT为静态表,并利用innodb_force_recovery进行数据导入。整个过程建议在单独的MySQL实例上操作,以避免影响其他数据库。
摘要由CSDN通过智能技术生成

一次恢复数据库表数据的任务,在此之前感谢指导我的各位前辈。


1,刚拿到数据库文件,打开里面只有frm和ibd文件 。

 对于数据库了解不深,而像这种恢复数据的工作也没有做过,因此首先百度了一下.frm和.ibd文件是做什么的,见下:

  MySQL中.frm文件:保存了每个表的元数据,包括表结构的定义等,该文件与数据库引擎无关。

  MySQL中.ibd文件:InnoDB引擎开启了独立表空间(my.ini中配置innodb_file_per_table = 1)产生的存放该表的数据和索引的文件。

2,恢复表结构,在只有.frm文件发现创建的表不能打开,百度之后这道这样恢复是需要表结构的。在有了表结构的SQL语句之后创建表,发现清晰多了,完全就不需要frm文件了,但是ibd文件里的数据还是不能直接覆盖数据库里。在mysql5.5版本下数据库DATA目录并找不到ibd文件,这里不清楚是版本问题还是其他问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值