关于mysql8.0根据.idb文件数据恢复(仅需10几步)

引言:最近生产环境的数据库蹦了,并且没有回滚快照。现在只有.idb文件。网上的方法大部分都是基本8.0以下恢复。8.0以上恢复文件少之又少。看了许多篇文章都是有.frm文件恢复。但是在数据库8.0

引言:最近生产环境的数据库蹦了,并且没有回滚快照。现在只有.idb文件。网上的方法大部分都是基本8.0以下恢复。8.0以上恢复文件少之又少。看了许多篇文章都是有.frm文件恢复。但是在数据库8.0之后就已经没有.frm文件了,而且网上mysql8.0以上没有.frm的恢复,本人都没有成功过。通过多次试验在8.0以上,亲测用其他方法可行。只通过.idb文件恢复了数据。只适用于8.0版本的mysql。

恢复前环境准备,由于这次恢复涉及到需要使用到go语言,由于本人没有任何go语言经验,相信大家很多人也没有。我就写详细一点(大家不要看到需要go语言就退缩其实很简单)

如果大家实验可行的话麻烦大家点点赞 ,让更多的小伙伴知道!!!!

1.安装go语言环境(基于windows)

链接:https://pan.baidu/s/1T62W5Rz7Gve6bEzXLLZZgg 
提取码:ib69 

2.直接无脑下一步就行了(由于自己已经安装过了就没有贴图了,但是要记住安装的位置)安装好久cmd安装路径输入go

如果出现以下 就表明安装成功了

3.打开go的代码 这里楼主是用vscode打开的 代码已经如下 (解压即用不需要任何修改)

链接:https://pan.baidu/s/1RG5hg9mA3U0Le6fUKcAoeg 
提取码:n9la 

4.vscode打开代码文件

5.这里输入go插件 把他下载下来

6.这里基本就把环境安装好啦(现在就可以开始恢复数据了)

go run D:\go\go-test\go-ibd2schema\cmd\cmd.go D:\go\go-test\mysql\smart_travel\goods.ibd  (如果使用这个命令爆的jar包下不下来,可以参考这篇文章A connection attempt failed because the connected party did not properly respond_a connection attempt failed because the connected -CSDN博客

7.运行之后就可以看到(要恢复的表结构就已经明朗了,现在就只需要恢复数据啦)

8.现在就可以打开navicat把这个表结构导入进去(导进去就会发现 结构已经好了 但是没有数据)

大家别急现在就通过.ibd文件恢复数据了

9.然后再当前数据库执行这行命令 ALTER TABLE `goods` DISCARD TABLESPACE;(再执行这个命令)

再看到控制台没有问题之后 提示ok 就进入最关键的一步了。

10.需要找到刚才创建这个表的数据库文件夹(我现在也就是good这个文件夹) 这个路径大家要根据自己电脑或者虚拟机的位置找。网上有许多教程

11.如果是windows那就在这里就能找到对应数据库位置。虚拟机的话就建议大家百度一下应该就能找到 或者大家可以把他拿到windows来恢复。然后再上传到虚拟机上面去。(必须要保证上面那个命令跟下面的命令是同一个库)12.最后找到数据库文件夹之后,就进入数据库文件夹 把你要恢复的.idb文件放进去。(这一步就恢复数据了)

然后在刚才的地方执行下面这个命令 :ALTER TABLE  `goods` IMPORT TABLESPACE;

然后神奇的一幕就发生了 你这张的数据就恢复啦!!!!

发布者:admin,转转请注明出处:http://www.yc00.com/web/1754761176a5198922.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信