首页/数据/数据库速查/Clone 插件快速建从库
主从复制与高可用53 条

Clone 插件快速建从库

8.0.17+ 内置 Clone 插件:从库一键克隆主库的物理数据(含字典与 GTID 状态),不需要停业务、不需要手工 prepare,是最省事的建从库方式。

数据库速查数据更新于 2026-10-13

Clone 插件是什么

MySQL 8.0.17 起内置 Clone 插件,可以从主库一键克隆物理数据(包含数据字典与 GTID 状态),既不需要停业务,也不需要手工 prepare 与 copy-back,是新建从库最省事的方式。克隆完成后接收端会自动重启,之后启动复制即可开始追增量。

基本信息

版本要求两端均需 MySQL 8.0.17 及以上
前置条件两端都安装 clone 插件
权限要求源端账号需 BACKUP_ADMIN
自动携带克隆包含 gtid_executed,一般配合 AUTO_POSITION=1
限制要求 InnoDB 表,部分特性与加密配置有限制

典型使用场景

  • 新建从库:比逻辑导出导入快得多,且不易出错
  • 大库扩容:数据量大时克隆能从物理层完成同步
  • 测试环境搭建:快速复制一份与生产一致的数据
  • 迁移演练:提前验证克隆流程与耗时
  • 故障恢复:主库数据完好时快速重建一个副本
  • 核对环境:克隆后对比版本与参数是否与源端一致

克隆流程

克隆流程
-- 主库(数据源)安装插件并授权
INSTALL PLUGIN clone SONAME 'mysql_clone.so';
GRANT BACKUP_ADMIN ON *.* TO 'clone_user'@'10.0.%';

-- 从库(接收端)安装插件后执行克隆
INSTALL PLUGIN clone SONAME 'mysql_clone.so';
CLONE INSTANCE FROM 'clone_user'@'10.0.0.10':3306 IDENTIFIED BY 'Str0ng#Clone!';
-- 克隆完成后接收端自动重启,重启后启动复制
START REPLICA;
SHOW REPLICA STATUS\G

-- 观察进度(克隆过程中)
SELECT stage, state, begin_time, end_time FROM performance_schema.clone_status;

步骤与验证点

步骤动作验证什么
安装插件两端 INSTALL PLUGIN cloneSELECT * FROM information_schema.plugins 可见
授权源端授予 BACKUP_ADMINSHOW GRANTS 确认权限
执行克隆接收端 CLONE INSTANCE FROMclone_status 显示 Completed
自动重启接收端重启并加载克隆数据实例可正常启动
启动复制START REPLICA 并核对状态两个线程正常、无错误
克隆过程接收端会清空并重启,确保是对新实例操作。
克隆会覆盖接收端的现有数据:执行前确认这台实例上没有需要保留的库与账号,并核对两端版本与加密配置,避免克隆失败后又失去原有数据。
克隆前先核对接收端的磁盘空间与版本:传输数据量与数据文件规模相当,空间不足会在中途失败,而失败时通常已经进入清空数据的阶段。

易错点

  • 在已有数据的实例上执行克隆,原有业务库被直接覆盖
  • 两端版本或插件状态不一致,克隆中途失败并留下不可用实例
  • 源端账号缺少 BACKUP_ADMIN 权限,克隆被直接拒绝
  • 克隆后忘记启动复制或核对两个线程状态,以为同步已经完成
  • 接收端磁盘空间不足,克隆中途失败但已清空原数据

数据来源与参考

  • MySQL 8.0 Reference Manual: Cloning Data

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌