首页/数据/数据库速查/多源复制(Multi-Source)
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条
主从复制与高可用53 条
性能与调优57 条Redis 命令96 条Redis 运维与场景124 条

多源复制(Multi-Source)

一个从库同时拉多个源:用于数据汇总、分库聚合场景;8.0 用 FOR CHANNEL 显式命名通道,通道级管理(START/STOP/状态分开看)。

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

配置两个通道

配置两个通道
CHANGE REPLICATION SOURCE TO
  SOURCE_HOST='10.0.0.10', SOURCE_USER='repl', SOURCE_PASSWORD='***',
  SOURCE_AUTO_POSITION=1 FOR CHANNEL 'ch_a';
CHANGE REPLICATION SOURCE TO
  SOURCE_HOST='10.0.0.20', SOURCE_USER='repl', SOURCE_PASSWORD='***',
  SOURCE_AUTO_POSITION=1 FOR CHANNEL 'ch_b';
START REPLICA FOR CHANNEL 'ch_a';
START REPLICA FOR CHANNEL 'ch_b';
SHOW REPLICA STATUS FOR CHANNEL 'ch_a'\G
用途多分片汇总到中心库(报表/数仓前置)
约束各源库表冲突要提前设计(schema 隔离或前缀)
监控复制 P_S 表按 channel_name 聚合
多源复制不允许两个源同时写同一行;冲突设计属于数据架构问题,不是参数问题。

易错点

  • 表名冲突未处理:两源数据互撞,重放报错不断
  • 按默认通道管理:命名通道必须 FOR CHANNEL,命令写错直接报通道不存在

数据来源与参考

  • MySQL 8.0 Reference Manual: Multi-Source Replication

相关工具

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