文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  将基于二进制日志的复制源添加到多源副本

19.1.5.4 将基于二进制日志的复制源添加到多源副本

这些步骤假设源上已启用二进制日志记录(这是默认设置),副本使用 TABLE 基于复制应用器元数据存储库(这是 MySQL 9.0 中的默认设置),并且您已启用复制用户并记录了当前二进制日志文件名和位置。

使用 CHANGE REPLICATION SOURCE TO 语句为副本上的每个源配置一个复制通道(参见 第 19.2.2 节,“复制通道”)。FOR CHANNEL 子句用于指定通道。例如,要将 source1source2 作为源添加到副本,请使用 mysql 客户端在副本上两次发出该语句,如下所示

mysql> CHANGE REPLICATION SOURCE TO SOURCE_HOST="source1", SOURCE_USER="ted", SOURCE_PASSWORD="password", \
SOURCE_LOG_FILE='source1-bin.000006', SOURCE_LOG_POS=628 FOR CHANNEL "source_1";

mysql> CHANGE REPLICATION SOURCE TO SOURCE_HOST="source2", SOURCE_USER="ted", SOURCE_PASSWORD="password", \
SOURCE_LOG_FILE='source2-bin.000018', SOURCE_LOG_POS=104 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.1 节,“CHANGE REPLICATION FILTER 语句”