Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

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

19.1.5.3 将基于GTID的源添加到多源副本中

这些步骤假设您已经在源上启用了事务的GTID,使用gtid_mode=ON,创建了复制用户,确保副本使用基于TABLE的复制应用程序元数据存储库,并在适当的情况下从源上 provision了数据。

使用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";

要使副本仅从source1复制数据库db1,并仅从source2复制数据库db2,使用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.2 节,“CHANGE REPLICATION FILTER语句”