MySQL IBD文件恢复数据
1:创建数据库
创建任意数据库
2: 创建表格
创建数据表
(备注:表结构要和要恢复的表结构一致,表名称,row_format要和ibd文件的row_format一致,否则,会提示两者不一致。 当前row_format=dynamic)
3、表的属性查看
我们使用:show table status like 'matlab';,查看表的属性
备注:创建表时候的row_format和表属性的不一致,基于innodb是,要把row_format设置成dynamic时,需要修改mysql的全局配置,直接在myql命令中修改:set global innodb_file_format=Barracuda;
注
我们在恢复表的时候,要保证row_format和ibd文件的一致,如果ibd文件是compact的话,需要建表的时候,设置成row_format=compact,在恢复的时候,自行解决,从第6步开始,重点说明如何去恢复。
4、表错误信息查看 show warnings
5:恢复
第一步:移除表空间
--移除表空间
alter table 表格 DISCARD TABLESPACE;
第二步: 拷贝idb文件
将备份的ibd文件,放到mysql->data->创建的数据库名称->,将ibd拷贝到此目录下,如下所示具体路径查看
-- 使用sql查询数据目录
show global variables like '%datadir%';
第三步:重新导入表空间
alter table 表格 IMPORT TABLESPACE;
正常情况下以上三部执行完就恢复结束了.