事故背景
操作
最后经过权衡,选择新起一个mysql服务,进行数据恢复,但搞笑的是,项目并没有导出sql文件进行备份,由于旧mysql也重启不了,无法进行数据迁移,形成了一个很尴尬的局面。
我心想,这不就完事了吗,ibd文件中需要的数据都有了,直接拿出来不就能进行恢复了,但是又错了,ibd是二进制文件,无法直接打开查看,网上找了一圈也没有对应的解决方法。
这时候就想起了万能的GitHub,果然发现一个好东西:https://github.com/ddcw/ibd2sql
这是一个使用py对ibd文件解析成sql,ddl等语句的工具,具体操作方法见GitHub。
他完美的帮我还原了原本建表语句和表数据,帮助我完成数据恢复。
原理:
ibd文件结构和解析的原理在https://cloud.tencent.com/developer/article/2377921
总结