• 欢迎访问www.xadocker.cn QQ群
  • 时间不在于你拥有多少,而在于你们如何使用。-----艾克
  • 自立自主总胜过俯首为奴!-----卡密尔
  • 每个人都有一副面具,我只是自制了一副。-----戏命师
  • 真正的大师,永远怀着一颗学徒的心。-----剑圣
  • 世间万物表里如一者,又有几何?-----婕拉

Mysql 通过ibd文件恢复数据

DB xadocker.cn 2年前 (2019-03-08) 1010次浏览 0个评论 扫描二维码
文章目录[隐藏]
由于未关闭mysql服务就将服务器重启,导致服务器无法重启,使用fsck修复磁盘后启动服务器后,发现mysql数据文件损坏和丢失,但还存在idb文件。
数据库版本:5.7.20

什么是idb文件

如何通过idb文件恢复数据

mysql 5.7.20 目前使用的是独立表空间,每一个表都存在独立的ibd文件和frm文件,如下:

准备另外一台服务器用于还原数据,这里采用不同实例来恢复

STEP 1 获取并创建表结构,如果表结构都不知道的话,可以去寻找开发寻求帮助提供表结构语句

STEP 2 在另一台实例上创建库后并运行上面的的建表语句

查看此时数据库目录,会生成一个ibdtest库名的目录,目录文件如下

STEP 3 测试将上面目录中的t1.ibd文件直接换为源库中的ibd文件,替换后注意文件权限和属主属组的修改,测试是否能直接恢复数据

此时是依然看不见原来的数据的

STEP 4 得先清空表的tablespace后再导入源表的ibd文件

STEP 5 此时再将表数据导出,之后再导回原库中来恢复数据


xadocker, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Mysql 通过ibd文件恢复数据
喜欢 (2)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址