CLONE INSTANCE报错或卡住的根本原因是插件未真正激活,必须确认PLUGIN_STATUS为ACTIVE;INSTALL PLUGIN仅会话生效,永久启用需在my.cnf中配置plugin-load-add=mysql_clone.so和clone=force_plus_permanent并重启mysqld。

CLONE INSTANCE 命令报错或卡住,根本原因往往是插件没真正激活
执行 CLONE INSTANCE 前,90% 的失败不是权限或网络问题,而是插件状态为 DISABLED 或压根没加载。必须确认状态是 ACTIVE:
- 运行
SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME = 'clone';,结果中PLUGIN_STATUS必须为ACTIVE -
INSTALL PLUGIN clone SONAME 'mysql_clone.so';只在当前会话生效,MySQL 重启后失效 - 永久生效必须改
my.cnf:[mysqld] plugin-load-add = mysql_clone.so clone = FORCE_PLUS_PERMANENT
,然后systemctl restart mysqld(reload不起作用) - Linux 下检查
mysql_clone.so是否真实存在:SELECT @@plugin_dir;,再ls -l确认文件权限(需mysql用户可读+执行)
远程克隆必须 donor 和 recipient 分开配权,不能混用一个账号
克隆不是复制,不走 REPLICATION SLAVE 权限体系。源(donor)和目标(recipient)角色严格分离,权限不能复用:
- donor 实例上用户(如
'cloner'@'192.168.1.10')必须有:BACKUP_ADMIN(必需)、REPLICATION SLAVE(后续配主从用) - recipient 实例上用户(如
'cloner'@'%')必须有:CLONE_ADMIN(隐含SHUTDOWN,因克隆完要自动重启) - 两边账号必须都存在、密码一致;执行
GRANT后必须FLUSH PRIVILEGES - recipient 上必须提前设白名单:
SET GLOBAL clone_valid_donor_list = '192.168.1.10:3306';(不能带http://,IPv6 不支持) - donor 的
bind_address不能是127.0.0.1,得设成0.0.0.0或具体内网 IP,并放行防火墙/云安全组的 3306 端口
克隆完成后 recipient 自动重启,但 auto.cnf 和 server_uuid 不会更新
这是最常被忽略的致命断点:克隆是物理拷贝,auto.cnf 文件原样复制,导致 server_uuid 冲突,后续 CHANGE REPLICATION SOURCE TO 直接拒绝连接。
- recipient 重启后第一件事:
rm -f /var/lib/mysql/auto.cnf(Linux 路径,Windows 是datadir下同名文件) - 重启 MySQL,检查
SELECT @@server_uuid;,确认与 donor 不同;若相同,说明auto.cnf没删干净 -
my.cnf中必须提前配好:server_id唯一、gtid_mode = ON、log_bin开启(否则无法做主从) -
gtid_executed是 donor 克隆时刻的快照值,但 binlog 配置(如binlog_format)不会复制,全靠你手动对齐
克隆不是同步,也不是零停机,别指望它自动启动复制
CLONE INSTANCE 是一次性物理快照拉取,执行完 recipient 就自动退出并重启(停机 5–15 秒),之后一切复制配置都要手动补全:
- 克隆后
SHOW SLAVE STATUS必为空,必须立刻执行:CHANGE REPLICATION SOURCE TO SOURCE_HOST='192.168.1.10', SOURCE_USER='repl', SOURCE_PASSWORD='xxx', SOURCE_AUTO_POSITION=1; - donor 上的 DDL 在克隆期间会被阻塞(MySQL 8.0.27+ 已解除该限制,但低版本仍需注意)
- 克隆只支持 InnoDB 表;MyISAM 或 Memory 表仅复制结构,无数据
- 克隆不复制
my.cnf参数、字符集设置、SSL 配置等,recipient 的这些配置必须提前对齐 donor
auto.cnf 和 server_id,漏掉任何一个,新从库就起不来。


















