mysql传输表空间(可用于物理恢复单个表)

一.通过frm,ibd文件恢复表结构

1.在目标库创建该表(字段随意,以表 execute_exception_log为例)

create table execute_exception_log (id int);

2.用需要恢复的frm文件覆盖目标库中的frm文件

3.my.cnf文件修改innodb_force_recovery = 6 并重启数据库

4.desc execute_exception_log,错误日志报错如图

mysql传输表空间(可用于物理恢复单个表)

 

 

 5.删除表并重新创建11个字段的表

create table execute_exception_log (id1 int,id2 int,id3 int,id4 int,id5 int,id6 int,id7 int,id8 int,id9 int,id10 int,id11 int);

6.重复2,3,4步骤

mysql传输表空间(可用于物理恢复单个表)

 

 

 7.show create table execute_exception_log 获取建表语句

mysql传输表空间(可用于物理恢复单个表)

 

8.目标实例删除表后重建表结构

 

9.重建表后执行:alter table  execute_exception_log discard tablespace;

10.拷贝idb文件到新实例覆盖新建的ibd文件

11.执行:alter table execute_exception_log  import tablespace;

12.验证:select count(*) from execute_exception_log ;

mysql传输表空间(可用于物理恢复单个表)

 

 

mysql传输表空间(可用于物理恢复单个表)

上一篇:MySQL:多表查询


下一篇:docker启动TDengine错误:ERROR dnode:1, localEp is different from a5e27b397f1d:6030 in dnodeEps.json and need reconfigured