mysql从ibd文件恢复数据

2021-10-30

数据库冷备份无法启动,但是有无数个idb表文件

1、准备一个新的mysql库,创建一个空db,创建需要恢复的table.

2、停止mysqld
3、vim -v newtable1.idb
:%!xxd会改为16进制格式
有一行包含表id,00000020: 0000 0000 3c94 0000 3c94 0000 0000 0000
将旧表文件需要修改为新表id,

4、vim -v oldtable1.idb
:%!xxd会改为16进制格式
找到同行,替换为3c94
:%!xdd -r
:wq存储后退出

5、用修改过的oldtable1.idb替换newtable1.idb
6、修改/etc/my.cnf
[mysqld]
innodb_force_recovery=6
innodb_purge_threads=0
7、systemctl restart mysqld.service
8、查询数据或者导出数据
9、恢复到你需要的数据库

分类:数据库 | 标签: |

相关日志

评论被关闭!