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

来源:这里教程网 时间:2026-03-01 12:41:16 作者:

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--------------

相关推荐