当前位置: 首页 > MySQL数据库

MySQL的Clone插件怎么用

时间:2026-01-28 12:53:14
克隆插件简介

MySQL 8.0.17引入了Clone插件,可以进行本地或从远程MySQL服务器实例进行克隆,克隆的数据是存储在InnoDB中的数据的物理快照,包括schemas、tables、tablespaces和数据字典元数据。克隆操作包括本地克隆和远程克隆。

本地克隆操作:                                                                   远程克隆操作:

安装克隆插件

使用Clone插件进行克隆操作,必须先进行插件的安装和配置。插件的名称是mysql_clone.so,安装有两种方法。

方法1:

MySQL数据库的插件默认放在系统变量plugin_dir对应的目录中,在MySQL服务器启动时使用--plugin-load-add选项加载该插件即可,但该方法需每次启动服务器都需要指定对应的选项,可以将其配置到my.cnf文件中,即:

[mysqld]plugin-load-add=mysql_clone.so
方法2:

运行时加载该插件,使用INSTALL PLUGIN进行安装,并将插件注册到mysql.plugin系统表中:

install plugin clone soname 'mysql_clone.so';

安装后,可在information_schema.plugins表或通过show plugins查看。

克隆本地数据

本地克隆数据是将MySQL数据目录克隆相同服务器或节点到另一个目录 支持的语法如下,

CLONE LOCAL DATA DIRECTORY [=] '/path/to/clone_dir'

执行上述语句,对应的用户需要有BACKUP_ADMIN权限,而且用户创建的文件或表空间必须在数据目录中,同时,克隆的目的地需指定绝对路径,目录完整路径必须存在,但clone_dir必须不存在。

演示:克隆本地数据

1)创建用户

mysql> select version();+-----------+| version() |+-----------+| 8.0.25 |+-----------+1 row in set (0.00 sec)mysql> create user clone_admin identified by 'Cl0neTest';Query OK, 0 rows affected (0.02 sec)mysql> grant backup_admin on *.* to clone_admin;Query OK, 0 rows affected (0.10 sec)

2)创建目录

[root@node1 ~]# mkdir /mysql/clone/[root@node1 ~]# chown -R mysql:mysql /mysql/clone/

3)克隆操作

mysql> clone local data directory='/mysql/clone/clone_data';Query OK, 0 rows affected (17.09 sec)

4)查看克隆后的文件

[root@node1 ~]# ll /mysql/clone/clone_data/total 6348816drwxr-x---. 2 mysql mysql 89 Nov 28 11:26 #clone-rw-r-----. 1 mysql mysql 9231 Nov 28 11:26 ib_buffer_pool-rw-r-----. 1 mysql mysql 4294967296 Nov 28 11:26 ibdata1-rw-r-----. 1 mysql mysql 1073741824 Nov 28 11:26 ib_logfile0-rw-r-----. 1 mysql mysql 1073741824 Nov 28 11:26 ib_logfile1drwxr-x---. 2 mysql mysql 6 Nov 28 11:26 mysql-rw-r-----. 1 mysql mysql 25165824 Nov 28 11:26 mysql.ibddrwxr-x---. 2 mysql mysql 4096 Nov 28 11:26 sakiladrwxr-x---. 2 mysql mysql 28 Nov 28 11:26 sys-rw-r-----. 1 mysql mysql 16777216 Nov 28 11:26 undo_001-rw-r-----. 1 mysql mysql 16777216 Nov 28 11:26 undo_002

5)验证,使用克隆的目录启动数据库

[root@node1 ~]# service mysql.server stopShutting down MySQL.... SUCCESS![root@node1 ~]# mysqld_safe --datadir=/mysql/clone/clone_data/ --lower-case-table-names=1 --user=mysql2021-11-28T03:47:11.012900Z mysqld_safe Logging to '/mysql/clone/clone_data/node1.com.cn.err'.2021-11-28T03:47:11.036181Z mysqld_safe Starting mysqld daemon with databases from /mysql/clone/clone_data
克隆远程数据

克隆远程MySQL服务器实例(donor)并将其传输至执行克隆操作的MySQL实例(recipient),支持的克隆远程数据的语法如下:

CLONE INSTANCE FROM 'user'@'host':portIDENTIFIED BY 'password'[ DATA DIRECTORY [ = ] 'clone_dir' ][ REQUIRE [ NO ] SSL ]

其中,

  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素