Mysql innodb引擎下根据.frm和.ibd文件恢复表结构和数据

数据结构

恢复表结构 frm

1、创建一个新的库

2、创建一个任意一张表 表名与需要恢复得表结构

CREATE TABLE `jc_user`( `id` int(1)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

3、关闭Mysql 服务

net stop mysql

4、修改Mysql 配置文件 My.ini     添加

innodb_force_recovery=1

5、把备份文件中得  frm 文件 拷贝到数据空对应位置

6、启动Mysql  

net stop mysql

7、如果启动报错

8、mysql data 目录下dell-PC.err 文件查看错误

提示字段不够  需要创建对应得数量字段

9、删除之前得表   重新创建

10、重新操作3~6 操作

11、如果还不成功可以下面进行修改

innodb_force_recovery=1   #修改为 2,3,4,5,6

恢复数据 ibd

1、将上一步恢复得表结构进行导出

2、关闭mysql 服务

net stop mysql

3、修改mysql 配置文件

#innodb_force_recovery=1
innodb_file_per_table=1

4、启动mysql 服务

5、重新创建表

SET FOREIGN_KEY_CHECKS=0;

DROP TABLE IF EXISTS `jc_user`;
CREATE TABLE `jc_user` (
  `id` int(32) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) DEFAULT NULL,
  `sex` int(1) DEFAULT NULL,
  `createTime` datetime DEFAULT NULL,
  `updateTime` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

6、执行

ALTER TABLE jc_user DISCARD TABLESPACE;

7、关闭mysql 服务

8、将 ibd  文件 拷贝到对应的数据目录

9、启动mysql 服务

10、执行

ALTER TABLE jc_user IMPORT TABLESPACE;  

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值