Centos7下Mysql通过.frm和.ibd恢复数据紧急措施,帮你拯救你的数据

11 篇文章 0 订阅
5 篇文章 0 订阅

admin_menu为数据表

查找到数据库存档中的data文件夹下网站所在的目录,然后找到frm和ibd文件,第一时间备份,然后进行下面的操作!(其他的方法都不行,最后折腾了一个通宵……哎,总结了一下)

第一步,解除空间(在数据库中的SQL中直接操作),如果失败那是因为frm和ibd文件还在,要删除,最后需要导入的哦,记得备份,然后重启数据库,以防万一把内存也清理下(虚拟机的除外,因为你没权限)

ALTER TABLE admin_menu DISCARD TABLESPACE

第二步,创建同表明和字段的数据表(尽量一致,如果没有出厂表和sql文件的需要获取表结构,网上很多方法不管用,直接无语,哎,最好是自己有相同的数据表结构,比如以前有过备份什么的,只是需要表结构,不用担心数据旧的问题,只要数据表结构),然后执行第一步解除表空间绑定。

第三步,将ibd文件也就是数据内容文件复制并覆盖新生成的(数据库data文件下的网站文件夹下)文件就可以

第四步,重新绑定表空间
 

ALTER TABLE admin_menu  IMPORT TABLESPACE

刷新数据库就可以看到恢复的数据了……

如果没有,那就重启数据库,清理下内存的缓存就可以了

 

留个念想: http://www.manongjc.com/article/6506.html,也不到他的方法能不能用,暂且做个笔记吧,有机会试试,不,这个机会还是不要有了……

补充个5.7的数据库数据表吧,以备不时之需,留给后来人快速拯救自己的数据……

汗颜,上传资源还要等待审核……先放个文件名吧,方便查找:mysql.sql.zip,嗯,终于通过审核了,直接点击去下载吧

再来个蓝奏云的链接:https://www.lanzous.com/i6ryelc

对了,使用后看到日志中有个提示:

InnoDB: Table mysql/innodb_table_stats has length mismatch in the column nam

经过复查对比,是因为mysql数据库下的innodb_table_stats和innodb_index_stats数据表的`table_name` 列,长度从64 变成了 199,官方居然都没修复……好吧,自己动手吧,将这两张表的`table_name`字段长度改为199,执行,正常了……

下面来一个懒人资源吧,直接替换导入数据库就可以:

mysql.sql只有数据表结构的.zip

好吧,资源审核中,通过后加入;好了,可以了,点击直接下载

先上蓝奏云链接:

https://www.lanzous.com/i6stzdg

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值