Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  Adding GTID-Based Sources to a Multi-Source Replica

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 选项设置为指定自动定位。

例如,要将 source1source2 添加到复制服务器上,使用 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";

要使复制服务器只复制 db1source1,并且只复制 db2source2,使用 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 语句”