ITPub博客

首页 > 数据库 > MySQL > Mysql5.7利用frm与ibd恢复数据

Mysql5.7利用frm与ibd恢复数据

原创 MySQL 作者:tangyunoracle 时间:2019-10-14 16:58:54 0 删除 编辑

Mysql5.7利用frm与ibd恢复数据

1、新建一个同名数据库,并且在里面新建一张表同名的表,字段随意。

---如果有原来表的表结构,那这步可以省略

将my.cnf配置文件增加innodb_force_recovery=6

2、把备份的.frm文件覆盖新建表的.frm文件,修改文件属主和权限,重启数据库,这个时候会在err文件提示你表结构的字段数不一致

3、重复再新建一张表同名的表,字段数和提示的一样多,字段名字类型随意

4、把备份的.frm文件覆盖新建表的.frm文件,修改文件属主和权限,重启数据库;这样表结构就恢复出来了。

5、根据表结构,再重建新的表,指定表的ROW_FORMAT属性,ROW_FORMAT=COMPACT;

CREATE TABLE ty (

  id bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',

  valid int(11) DEFAULT '1' COMMENT '是否有效 1:有效 0:无效',

  rel varchar(25) DEFAULT NULL,

  PRIMARY KEY (id)

) DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;

这样,表结构就算是恢复完了。

6、恢复数据

在指定的数据库中执行丢弃表空间命令

alter table ty discard tablespace;

7、拷贝原来的ibd文件,并覆盖新建表ibd,并修改权限

chown mysql.mysql ty.ibd

8、导入表空间

alter table ty import tablespace;

这样整个数据就恢复回来了。


---------End-By-TangYun-----2019.10.14--------------

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24930246/viewspace-2659927/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
有空写写一写,没空看一看。。。 微信号:tangyun0925
  • 博文量
    115
  • 访问量
    1744078