mysql通过frmidb恢复数据_MySQL通过frm 和 ibd 恢复数据过程

在A服务器上创建数据库lv

root(lv)> show create table lv\G

*************************** 1. row ***************************

Table: lv

Create Table: CREATE TABLE `lv` (

`id` int(11) DEFAULT NULL,

`name` varchar(20) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8

插入数据

root(lv)> insert into lv values (1,'HANK');

Query OK, 1 row affected (1.01 sec)

root(lv)> insert into lv values (2,'lv');

Query OK, 1 row affected (0.04 sec)

root(lv)> insert into lv values (3,'GARY');

Query OK, 1 row affected (0.00 sec)

root(lv)> insert into lv values (4,'NIKO');

Query OK, 1 row affected (0.02 sec)

root(lv)> select * from lv;

+------+------+

| id | name |

+------+------+

| 1 | HANK |

| 2 | lv |

| 3 | GARY |

| 4 | NIKO |

+------+------+

4 rows in set (0.00 sec)

在B服务器上,添加参数innodb_force_recovery=1并重启,创建空数据库lv,并创建表lv

mysql> create database lv;

use yooQuery OK, 1 row affected (1.01 sec)

mysql> use lv;

Database changed

mysql> CREATE TABLE `lv` (

-> `id` int(11) DEFAULT NULL,

-> `name` varchar(20) DEFAULT NULL

-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Query OK, 0 rows affected (0.09 sec)

将表结构和空间脱离

mysql> alter table lv discard tablespace;

Query OK, 0 rows affected (0.02 sec)

将A服务器上的ibd数据文件传输至B服务器上

scp lv.ibd 182.19.4.7:/export/data/mysql/data/lv

修改权限

chown -R mysql.mysql lv.ibd

将表结构和空间建立关系

mysql> alter table lv import tablespace;

Query OK, 0 rows affected, 1 warning (0.04 sec)

查询数据

mysql> select * from lv;

+------+------+

| id | name |

+------+------+

| 1 | HANK |

| 2 | lv |

| 3 | GARY |

| 4 | NIKO |

+------+------+

4 rows in set (0.00 sec)

详细步骤如下:

1、停止mysql服务,添加innodb_force_recovery=1 ,启动mysql服务

2、创建新数据库,创建相同表结构的表(表结构必须相同)

3、执行alter table tb discard tablespace;

4、删除表的ibd文件

5、跨服务器复制表ibd文件

6、修改ibd文件权限,执行alter table tb import tablespace;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值