第一种情况:知道表结构
知道表结构的话恢复数据比较简单
1、创建数据库
2、建表,要求就是跟原来的表结构一样
3、将你的.ibd文件直接拷贝到当前数据库的data目录下
4、重启MySql
重启成功就结束了
第二种情况:不知道表结构
这种情况下就需要借助额外的工具来恢复数据
1、安装python3执行下面这个命令安装
yuminstall-ypython3
2、安装ibd2sql这个工具
#下载压缩包
wgethttps://github.com/ddcw/ibd2sql/archive/refs/heads/main.zip
#解压
unzipmain.zip
3、进入ibd2sql-main目录下
4、执行命令
python3main.py***********你的ibd文件的具体路径*************--ddl--sql
python3main.py/opt/1panel/apps/mysql/mysql/data/ry@002dvue/sj_job.ibd--ddl--sql
执行完毕后就会出现对应的sql脚本,最后直接在执行一下这个sql脚本就能把表结构和数据都找回来了,这种方式是通过执行sql脚本重新创建表和插入数据
当然也可以先执行--ddl找回表结构
python3main.py/opt/1panel/apps/mysql/mysql/data/ry@002dvue/sj_job.ibd--ddl
然后在新的数据库中执行create语句把表建好,最后再把你的.ibd文件目录拷贝到新的数据库的data目录下,最后重启MySQL,重启成功的话数据就都找回来了,要是重启失败的话就只能执行--ddl和--sql找回数据了
|