如何用undrop-for-innodb和ibd2sql恢复MySQL 8.0中被误删的表?
- 内容介绍
- 文章标签
- 相关推荐
哎呀,表被删了!这可咋整?别慌, 咱们来聊聊MySQL 8.0的数据恢复
对吧,你看。 日常运维中,难免遇到某些表不小心被drop的场景,而恰好又没有备份?咋办呢?当然是跑路啦。开个玩笑,跑路是下下策,咱们还是得硬着头皮想办法恢复。毕竟数据就是企业的命根子,丢了饭碗事小,丢了数据事大。今天咱们就来折腾一下 怎么用undrop-for-innodb和ibd2sql这两个工具,把MySQL 8.0里被误删的表给“捞”回来。说实话,这过程挺折磨人的,特别是当你面对一堆二进制文件的时候,那种绝望感,啧啧。
先来看看undrop-for-innodb的原理。这玩意儿其实挺暴力的,它不跟你讲什么虚的,直接去扫描磁盘。undrop-for-innodb 是一款很NB的数据恢复工具, 支持在没有备份的时候恢复被drop的表;网上教程也很多,但是都是针对5.6/5.7环境的, 我给跪了。 其实这款工具也是支持MySQL 8.0环境的。本文主要就是讲如何使用undrop-for-innodb和ibd2sql恢复mysql 8.0环境被drop的表。这可是个技术活,稍微不注意,可能就彻底找不回来了。

ibd2sql是个啥?它能干啥?
有一款名叫ibd2sql的工具可以解析ibd文件, 也是ibd文件,那不就可以解析了么!ibd2sql解析ibd文件的原理其实就是: 根据表结构一行行,一个个字段的读取ibd文件中的数据. 当然可以使用一些特殊选项来解析需要的数据. 听起来是不是很简单?但做起来全是坑。这工具就像个显微镜,能把ibd文件里的每一个字节都给你抠出来看。
准备使ibd2sql支持解析undrop-for-innodb碎片页的时候, 看了下undrop-for-innodb的原理, 发现其还不支持8.0环境, 故尝试使其与ibd2sql结合的效果, 还不错. 后续ibd2sql也会引进该功能。 差不多得了... 你看,工具也是在进化的,以前傻傻地解析文件系统,现在聪明多了。
哎呀,表被删了!这可咋整?别慌, 咱们来聊聊MySQL 8.0的数据恢复
对吧,你看。 日常运维中,难免遇到某些表不小心被drop的场景,而恰好又没有备份?咋办呢?当然是跑路啦。开个玩笑,跑路是下下策,咱们还是得硬着头皮想办法恢复。毕竟数据就是企业的命根子,丢了饭碗事小,丢了数据事大。今天咱们就来折腾一下 怎么用undrop-for-innodb和ibd2sql这两个工具,把MySQL 8.0里被误删的表给“捞”回来。说实话,这过程挺折磨人的,特别是当你面对一堆二进制文件的时候,那种绝望感,啧啧。
先来看看undrop-for-innodb的原理。这玩意儿其实挺暴力的,它不跟你讲什么虚的,直接去扫描磁盘。undrop-for-innodb 是一款很NB的数据恢复工具, 支持在没有备份的时候恢复被drop的表;网上教程也很多,但是都是针对5.6/5.7环境的, 我给跪了。 其实这款工具也是支持MySQL 8.0环境的。本文主要就是讲如何使用undrop-for-innodb和ibd2sql恢复mysql 8.0环境被drop的表。这可是个技术活,稍微不注意,可能就彻底找不回来了。

ibd2sql是个啥?它能干啥?
有一款名叫ibd2sql的工具可以解析ibd文件, 也是ibd文件,那不就可以解析了么!ibd2sql解析ibd文件的原理其实就是: 根据表结构一行行,一个个字段的读取ibd文件中的数据. 当然可以使用一些特殊选项来解析需要的数据. 听起来是不是很简单?但做起来全是坑。这工具就像个显微镜,能把ibd文件里的每一个字节都给你抠出来看。
准备使ibd2sql支持解析undrop-for-innodb碎片页的时候, 看了下undrop-for-innodb的原理, 发现其还不支持8.0环境, 故尝试使其与ibd2sql结合的效果, 还不错. 后续ibd2sql也会引进该功能。 差不多得了... 你看,工具也是在进化的,以前傻傻地解析文件系统,现在聪明多了。

