“秒级”响应不仅限于小数据量,如clickhouse可支撑40亿级数据秒级查询,polardb超级物化视图实现亿级数据秒级刷新,观远bi在20亿数据量下仍保持秒级分析响应。

“秒级”只在小数据量(比如
插件没激活,CLONE 命令直接报错
执行 CLONE LOCAL DIRECTORY 或 CLONE INSTANCE 前,必须确认插件状态为 ACTIVE。否则会遇到两种典型错误:ERROR 1126 (HY000): Can't open shared library 'mysql_clone.so'(动态加载失败),或更隐蔽的 Unknown command 'CLONE'(语法不识别)。
- 登录后立刻查:
SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME = 'clone';—— 必须返回ACTIVE - 若为
DISABLED,运行INSTALL PLUGIN clone SONAME 'mysql_clone.so';(Linux)或INSTALL PLUGIN clone SONAME 'mysql_clone.dll';(Windows) - 永久生效必须写进
my.cnf的[mysqld]段:plugin-load-add = mysql_clone.so和clone = FORCE_PLUS_PERMANENT,否则重启即失效
远程克隆连不上 donor,90% 是白名单或 bind_address 没配对
recipient 不会自动发现 donor,clone_valid_donor_list 是硬性开关。设错、漏设、或用了 http:// 前缀,都会触发 ERROR 3864 (HY000): Clone Donor connection failed 或静默超时。
- recipient 上执行:
SET GLOBAL clone_valid_donor_list = 'donor_host:3306';(注意:不能带http://,IPv6 地址暂不支持) - donor 的
bind_address不能是127.0.0.1,必须设为0.0.0.0或具体内网 IP - 云环境要检查安全组、防火墙、SELinux 是否放行 3306 端口(双向)
- 两端都要装插件并验证
ACTIVE—— 只在 donor 装,recipient 执行CLONE INSTANCE会报ERROR 3863 (HY000): Clone not supported
克隆成功但启动失败,大概率是 auto.cnf 冲突或 innodb_file_per_table 不一致
克隆生成的是完整数据目录副本,包含原 auto.cnf 中的 server-uuid。若不清理,新实例启动时因 UUID 冲突直接拒绝服务;而 innodb_file_per_table=OFF 的旧实例无法被克隆,目标端若仍启用该模式,会报 Invalid tablespace file。
- 克隆完成后、重启前,必须手动删掉 recipient 数据目录下的
auto.cnf,让 MySQL 重生成唯一 UUID - 两端都必须确保
innodb_file_per_table = ON(MySQL 8.0 默认开启,但升级遗留实例可能仍为 OFF) - 关键参数如
innodb_page_size、innodb_log_file_size必须一致,否则 recipient 启动失败 - 目标路径(本地克隆用)必须不存在且属主为 MySQL 运行用户,例如:
chown -R mysql:mysql /data/clone_20260602
克隆完不能直接当从库用,gtid_executed 和 binlog 位点要手动对齐
克隆虽传输了 GTID 位点信息,但 recipient 的 gtid_executed、server_uuid、binlog_file 等元数据不会自动重置。跳过校准会导致主从复制报 GTID_PURGED conflict 或自增键冲突。
- 启动 recipient 后,先查:
SELECT @@server_uuid;—— 若与 donor 相同,说明auto.cnf没删干净 - 查 donor 的克隆位点:
SELECT BINLOG_FILE, BINLOG_POSITION FROM performance_schema.clone_status; - 用该位点执行:
CHANGE MASTER TO MASTER_LOG_FILE='...', MASTER_LOG_POS=..., GET_MASTER_PUBLIC_KEY=1; -
log_bin、gtid_mode、server_id等配置项需在my.cnf中手动设置,克隆不覆盖这些
最常被跳过的动作是删 auto.cnf 和重设 server_id —— 看似简单,但一旦遗漏,整个克隆流程就卡在“能启动但不能复制”的死结里。











