MySQL8.0+版本 ibd数据恢复

MySQL8.0+版本 ibd数据恢复

MySQL崩了

我在使用PHPstudy的时候,不知道怎么回事就把MySQL搞崩了。尝试了很多种办法也没有用。最终只能初始化MySQL,通过ibd文件来将数据恢复了!

MySQL没有.frm文件

.frm文件:这是表结构定义文件,包含表的元数据信息,例如列名、数据类型和约束等。每个表都有一个对应的.frm文件。
.ibd文件:这是InnoDB存储引擎的数据文件,包含表的实际数据和索引。每个InnoDB表都有一个对应的.ibd文件。在MySQL 5.7之前,每个InnoDB表通常都有一个单独的.ibd文件。
看了很多篇文章,都说可以用frm文件+idb文件来恢复数据。
但是我在我的MySQL数据目录下找了很多遍都没有找到frm文件!!!
原因是因为MySQL8.0之后就不存在frm文件了

解决办法

1.备份MySQL数据文件(一定要备份)
不知道数据文件在哪里的,可以通过MySQL安装目录下的my.ini文件中看到对应的数据文件存放位置。

2.备份好数据文件之后,将数据文件删除,下面将重新对mysql进行初始化。
通过管理员的方式打开CMD,进入到MySQL安装目录下的bin目录

//windwos管理员运行
mysqld --initialize --console       //初始化MySQL服务
msyqld --install //注册
net start mysql  //启动mysql

依次执行上面的代码之后,会发现MySQL产生了一个新的数据文件。

3.停掉MySQL服务
直接windows搜索框搜索服务
在这里插入图片描述
找到MySQL服务,把它停掉
在这里插入图片描述

4.恢复数据
打开前面第一步备份好的数据文件,依次将ibdata1、ib_buffer_pool、mysql.ibd、auto.cnf这四个文件拖到新的MySQL数据目录下覆盖。
在这里插入图片描述
在这里插入图片描述

再将要恢复的表的数据文件拖进去即可。(表的数据文件是以表名作文件夹的,直接整个文件夹拖过去就可以)
在这里插入图片描述

5.重启MySQL服务
依次按照第二步的操作。将MySQL服务启动起来

6.通过数据库管理工具查看恢复的表的数据
在这里插入图片描述
大功告成!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ctrl+c程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值