恢复之.ibd文件恢复,没有教程步骤,只有心得

Mysql恢复之.ibd文件恢复,没有教程步骤,只有心得

背景

博主最近遇到一件很鬼怪的事,我删当前的一个目录,他竟然把我要删的目录以外的几个目录给删了,顿时冷汗直下,因为那是数据库机器,而已还是资源目录,备份跟data目录全部没了,只来得及从进程中拉取.ibd文件出来,不就还好,.ibd文件还能救得回,不过当天肯定会丢失部分数据,还好我这个数据库是记录用户日志的,不是很核心,不然我就不会在写博文,而是打包走人,在找工作了

恢复第一步

有了.ibd文件是不是想,按百度的方式进行数据的恢复,这里暂停

如果能拉得出.ibd文件,那么证明数据库还是可以访问的,那么请进行热备份出来,不要想着.ibd文件恢复,因为是个巨坑

这里恢复,因为我是没想到上面那步,所以导致机器被重启,结果。。。。。。想到了想要备份都不行,真想搞死我自己

如果跟我碰到一样以及相同结果的兄弟,请联系我一下,我们一起哭惨。。。。。。。。。。。。。。。。。。。。。。。。

我按百度的方式进行恢复。。。。。。。常用的三剑客

1. 先创建表,表结构跟删除的表结构要一样
 2. 删除表空间,把.ibd复制过去
 3. 恢复表空间。

我按这个步骤恢复了数据量比较小的,恢复成功,让我无比开心,接下来让我心沉入大海

。。。。。。如果到这步可以恢复的大佬们,就不用接着看下去了

我恢复到了数据量大的表,就一直报错,数据库直接崩,重启,百度,必应,谷歌,都找了相关博文,一点收获都没有

想死的心都有。。。。。。

事到这步也不能死心,按网上的博文尝试各种的方法,结果就是:.ibd文件损坏,无法直接恢复

最后一步

我是怎么重新获得光明的呢

得到一位dba大佬的指点,使用.ibd分析工具来恢复,找了一下。。。。。不是恢复表结构,就是分析.ibd的占用情况等等

最后终于找到了,也是那位dba大佬的指点,给我介绍了一个工具,也是这博文最重要的东西:undrop-for-innodb,我的救星

标题也说了,没有教程,所以有需要的大佬们,自行百度

工具一点心得

  1. 使用undrop-for-innodb工具恢复出来的数据文件,请按不同文件名恢复到不同.sql文件,请不要恢复到一个.sql文件
  2. 猜测啊:有一些.sql文件可能是索引之类的数据,所以会乱码,我就只恢复没有乱码的.sql文件,各位大佬有使用过的,可以证明的一下,联系一下本人

恢复成功了,丢失了部分数据,还好找回大部分数据,让我的饭碗保留下来

过后有时间,会尝试还原一下当时的情况,也会新开博文记录下来

重点推荐一下,数据库社区:https://www.modb.pro/


   转载规则


《恢复之.ibd文件恢复,没有教程步骤,只有心得》 江松泉 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
Clickhouse的RBAC用户权限 Clickhouse的RBAC用户权限
背景我公司准备要上线Clickhouse,研发自己的数据平台,现在量不大,所以不考虑集群,只是单机,所以文章中只是在单机Clickhouse实现过,Clickhouse搭建文章我就不写了,网上一大堆,只是Clickhouse的RBAC用户权
2021-07-02
下一篇 
nginx最大文件打开数 nginx最大文件打开数
问题由于星期天nginx的一次意外报警,让我心生警报,因为周末,暂时没处理,到星期一才来处理,检测了一下日志,报的是打开的文件过多 [crit] 22809#0: accept4() failed (24: Too many open fi
2021-04-02
  目录