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

[](<>)

这些步骤假设在源上启用了二进制日志记录（这是默认设置），副本正在使用`桌子`基于复制应用程序元数据存储库（这是 MySQL 8.0 中的默认值），并且您已启用复制用户并记下当前二进制日志文件的名称和位置。

使用[`将复制源更改为`](change-replication-source-to.html)语句（来自 MySQL 8.0.23）或[`将主更改为`](change-master-to.html)语句（在 MySQL 8.0.23 之前）为副本上的每个源配置复制通道（请参阅[第 17.2.2 节，“复制通道”](replication-channels.html)）。这`频道`子句用于指定通道。例如，要添加`来源1`和`来源2`作为副本的源，使用[**mysql**](mysql.html)客户端在副本上发出两次声明，如下所示：

```
mysql> CHANGE MASTER TO MASTER_HOST="source1", MASTER_USER="ted", MASTER_PASSWORD="password", \
MASTER_LOG_FILE='source1-bin.000006', MASTER_LOG_POS=628 FOR CHANNEL "source_1";
mysql> CHANGE MASTER TO MASTER_HOST="source2", MASTER_USER="ted", MASTER_PASSWORD="password", \
MASTER_LOG_FILE='source2-bin.000018', MASTER_LOG_POS=104 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_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";
```

使副本仅复制数据库`db1`从`来源1`, 并且只有数据库`数据库2`从`来源2`， 使用[**mysql**](mysql.html)客户发出[`更改复制过滤器`](change-replication-filter.html)每个频道的声明，如下所示：

```
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.html)声明和其他可用选项，请参阅[第 13.4.2.2 节，“更改复制过滤器语句”](change-replication-filter.html).
