MySQL 从 .ibd 文件恢复数据

.frm文件:保存了每个表的元数据,包括表结构的定义等,该文件与数据库引擎无关。

.ibd文件:InnoDB引擎开启了独立表空间(my.cnf中配置innodb_file_per_table = 1)产生的存放该表的数据和索引的文件。

恢复:

1) 创建新表

2) 丢弃表空间

mysql>alter table table_name discard tablespace ;

3) 拷贝线上备份目录中的ibd到要恢复数据库的数据目录并chown mysql:mysql xxx.idb

4) 导入表空间

mysql>alter table table_name import tablespace ;

5) 查看表数据是否正常

注意事项:

1、数据库大版本要相同

2、row_format要和ibd文件的row_format一致,否则会提示两者不一致(set global innodb_file_format=xxx)

3、创建的表要跟恢复的表结构相同

 

posted @ 2018-04-12 14:40  从农村来的  阅读(270)  评论(0)    收藏  举报