mysql表空间复制_Mysql 传输表空间--将InnoDB表复制到另一个实例(一)

说明:实验环境是mysql5.7.17

这个过程演示了如何从运行的MySQL服务器实例复制一个普通的InnoDB表到另一个正在运行的实例。在相同的实例中,可以使用较小的调整来执行完整的表恢复。https://www.cndba.cn/leo1990/article/2714

https://www.cndba.cn/leo1990/article/2714https://www.cndba.cn/leo1990/article/2714https://www.cndba.cn/leo1990/article/2714

https://www.cndba.cn/leo1990/article/2714

在源实例上创建一个表

Mysql> use test

Database changed

Mysql> CREATE TABLE t(c1 INT) ENGINE=InnoDB;

Query OK, 0 rows affected (0.02 sec)

在目标实例创建一个相同表结构的表

Mysql> use test

Database changed

Mysql> CREATE TABLE t(c1 INT) ENGINE=InnoDB;

Query OK, 0 rows affected (0.01 sec)

在目标实例上,丢弃现有的表空间

(在可以导入表空间之前,InnoDB必须丢弃附着在接收表上的表空间。)

Mysql> ALTER TABLE t DISCARD TABLESPACE;

Query OK, 0 rows affected (0.01 sec)

[root@www.cndba.cn test]# ll

-rw-rw---- 1 mysql mysql 433 Apr 9 00:30 t.frm

在源实例上运行FLUSH TABLES … FOR EXPORT 锁定表并生成.cfg元数据文件

Mysql> use test

Database changed

Mysql> FLUSH TABLES t FOR EXPORT;

Query OK, 0 rows affected (0.03 sec)

[root@www.cndba.cn test]# ll

-rw-rw---- 1 mysql mysql 358 Apr 8 21:24 t.cfg

-rw-rw---- 1 mysql mysql 433 Apr 8 21:15 t.frm

-rw-rw---- 1 mysql mysql 98304 Apr 8 21:15 t.ibd

元数据(.cfg)是在InnoDB数据目录中创建的。

将.ibd文件和.cfg元数据文件从源实例复制到目标实例

[root@www.cndba.cn test]# scp /data/mysql/data/test/t.{ibd,cfg} 192.168.1.69:/data/mysql/test

[root@www.cndba.cn test]# chown mysql.mysql t.ibd t.cfg

在释放共享锁之前,必须先复制.ibd文件和.cfg文件

在源实例中解锁

使用解锁表来释放FLUSH TABLES ... FOR EXPORT:所获得的锁

Mysql> use test;

Database changed

Mysql> UNLOCK TABLES;

Query OK, 0 rows affected (0.00 sec)

在目的地实例中,导入表空间

Mysql> use test

Database changed

Mysql> ALTER TABLE t IMPORT TABLESPACE;

Query OK, 0 rows affected (0.06 sec)

ALTER TABLE … IMPORT TABLESPACE特性并不强制对导入的数据施加外键约束。如果表之间有外键约束,那么所有表都应该在相同的(逻辑的)点上导出。在这种情况下,您将停止更新表,提交所有事务,在表上获得共享锁,然后执行导出操作。

https://www.cndba.cn/leo1990/article/2714https://www.cndba.cn/leo1990/article/2714https://www.cndba.cn/leo1990/article/2714

https://www.cndba.cn/leo1990/article/2714https://www.cndba.cn/leo1990/article/2714

版权声明:本文为博主原创文章,未经博主允许不得转载。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值