使用mysql-utilities工具从.frm 和 .ibd文件中恢复数据

使用mysql-utilities解析.frm文件生成创建表SQL和使用.ibd文件恢复数据

yum -y install mysql-server mysql-utilities 安装mysql0utilities工具

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yztomu1S-1631147012499)(https://gitee.com/cy_hd/images/raw/master/blog/20210909080557.png)]

mysqlfrm --diagnostic ./ >createtb.sql 使用命令解析当前目录下所有的.frm文件成SQL语句到createtb.sql文件中

image-20210909080803003

image-20210909080941823

最后生成的文件是这样的image-20210909081023219

然后在你自己的数据库下执行这些文件就行,

你可以在你的db/your databasebname/ 下看到生成的对应的 tablename.frm 和 tablename.ibd文件,使用 alter table tablename DISCARD TABLESPACE 卸载掉对应表的.ibd文件,然后把你自己的文件copy过去,然后执行alter table tablename IMPORT TABLESPACE 这时有可能会报错Schema mismatch (Table has ROW_TYPE_DYNAMIC row format, .ibd file has ROW_TYPE_COMPACT row format.) 可以使用alter table tablename row_format=compact 或者在建表语句中加上ROW_FORMAT=COMPACT 然后再执行alter table tablename IMPORT TABLESPACE 执行ok

总结一下:
image-20210909081710873

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值