MySQL 8.4 Release Notes
19.1.5.3 添加基于 GTID 的多源副本
这些步骤假设您已经在源上启用了 GTIDs,以便使用 gtid_mode=ON
。创建了复制用户,确保复制服务器使用 TABLE
基于的复制元数据存储库,并为源提供了数据,如果必要。
使用 CHANGE REPLICATION SOURCE TO
配置每个源的复制通道在复制服务器上(见 第19.2.2节,“复制通道”)。使用 FOR CHANNEL
子句指定通道。在基于 GTID 的复制中,使用 GTID 自动定位来同步源(见 第19.1.3.3节,“GTID 自动定位”)。将 SOURCE_AUTO_POSITION
选项设置为指定自动定位。
例如,要将 source1
和 source2
添加到复制服务器上,使用 mysql 客户端在复制服务器上两次执行语句,如下所示:
mysql> CHANGE REPLICATION SOURCE TO SOURCE_HOST="source1", SOURCE_USER="ted", \
SOURCE_PASSWORD="password", SOURCE_AUTO_POSITION=1 FOR CHANNEL "source_1";
mysql> CHANGE REPLICATION SOURCE TO SOURCE_HOST="source2", SOURCE_USER="ted", \
SOURCE_PASSWORD="password", SOURCE_AUTO_POSITION=1 FOR CHANNEL "source_2";
要使复制服务器只复制 db1
从 source1
,并且只复制 db2
从 source2
,使用 mysql 客户端执行 CHANGE REPLICATION FILTER
语句,如下所示:
mysql> CHANGE REPLICATION FILTER REPLICATE_WILD_DO_TABLE = ('db1.%') FOR CHANNEL "source_1";
mysql> CHANGE REPLICATION FILTER REPLICATE_WILD_DO_TABLE = ('db2.%') FOR CHANNEL "source_2";
要查看 CHANGE REPLICATION FILTER
语句的完整语法和其他可用选项,请见 第15.4.2.1节,“CHANGE REPLICATION FILTER 语句”。