利用 MySQL 克隆插件搭建主从

前言:

MySQL 的 Clone 插件是一个强大的功能,首次引入于 MySQL 8.0.17 版本。简单来说,Clone Plugin 是一款物理克隆数据工具,它能够帮助我们快速、高效地克隆或复制数据库,极大地简化了数据库迁移、备份和恢复的过程,让我们在处理大量数据时更加得心应手。本篇文章我们一起来学习下如何使用克隆插件。

克隆插件介绍

克隆插件的工作原理是创建存储在 InnoDB 中的 schema、table、tablespaces 和 data dictionary metadata的物理快照。这个快照实际上是一个完整的数据目录,MySQL克隆插件可以使用这个目录来配置并恢复一个 MySQL 服务器。

使用克隆插件,用户可以执行本地克隆和远程克隆两种操作:

  • 本地克隆:将数据从启动克隆操作的 MySQL 服务器克隆到该服务器主机上的指定目录下。
  • 远程克隆:涉及到本地 MySQL 服务器(接收方)和远程 MySQL 服务器(发送方),克隆的数据通过网络从发送方传输到接收方。默认情况下,远程克隆操作会删除接收方数据目录中的现有数据,并用克隆的新数据替换。

不过克隆插件的使用也是有一定的限制的,参考官方文档,总结几点如下:

  1. DDL阻塞与兼容性
    • 在早期版本中,克隆操作期间会阻塞源服务器(Donor)上的所有 DDL 操作,但从 MySQL 8.0.27 开始,克隆命令不再阻塞 Donor 上的 DDL 操作。
    • 克隆操作要求源和目标 MySQL 服务器版本兼容,通常不允许跨大版本克隆。直至最近更新(如MySQL 8.0.37),小版本间的克隆限制有所放宽,但仍需注意版本兼容性。
  2. 存储引擎限制
    • 克隆操作仅支持InnoDB表,对于其他存储引擎的表,只会克隆其表结构而不会复制数据。
  3. 配置与日志不复制
    • 克隆插件不会复制 Donor 服务器的配置参数和二进制日志(Binlog)设置,这意味着目标实例需要独立配置。
  4. 操作系统与网络限制
    • 捐赠者和接受者必须运行在相同的操作系统上,并且在某些情况下,要求网络连接直接而不通过MySQL Router。
    • 指定的 Donor 端口不能是X Protocol端口。
  5. 字符集与排序规则
    • 源和目标 MySQL 服务器必须具有相同的字符集和排序规则。
利用 Clone Plugin 搭建主从

下面我们来具体操作下如何利用远程克隆来搭建主从复制:

# 主从服务器安装克隆插件 
mysql> INSTALL PLUGIN clone SONAME 'mysql_clone.so';

# 写入my.cnf配置文件
[mysqld]
plugin-load-add=mysql_clone.so

# 查看插件状态 确认为 ACTIVE
mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME = 'clone';
+------------------------+---------------+
| PLUGIN_NAME            | PLUGIN_STATUS 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值