17.1.5.3 将基于 GTID 的源添加到多源副本
这些步骤假设您已使用 为源上的事务启用 GTID gtid_mode=ON,创建了复制用户,确保副本使用 TABLE基于复制应用程序元数据存储库,并在适当时为副本提供来自源的数据。
使用CHANGE REPLICATION SOURCE TO语句(来自 MySQL 8.0.23)或 CHANGE MASTER TO语句(在 MySQL 8.0.23 之前)为副本上的每个源配置复制通道(请参阅第 17.2.2 节,“复制通道”)。该 FOR CHANNEL子句用于指定通道。对于基于 GTID 的复制,GTID 自动定位用于与源同步(请参阅 第 17.1.3.3 节,“GTID 自动定位”)。该 SOURCE_AUTO_POSITION| MASTER_AUTO_POSITION选项设置为指定使用自动定位。
例如,要将source1和 source2作为源添加到副本,请使用 mysql客户端在副本上发出两次语句,如下所示:
mysql> CHANGE MASTER TO MASTER_HOST="source1", MASTER_USER="ted", \
MASTER_PASSWORD="password", MASTER_AUTO_POSITION=1 FOR CHANNEL "source_1";
mysql> CHANGE MASTER TO MASTER_HOST="source2", MASTER_USER="ted", \
MASTER_PASSWORD="password", MASTER_AUTO_POSITION=1 FOR CHANNEL "source_2";
Or from MySQL 8.0.23:
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请使用 mysqlCHANGE 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语句的完整语法和其他可用选项,请参阅 第 13.4.2.2 节,“CHANGE REPLICATION FILTER 语句”。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




