MySQL 8.3 Release Notes
这些步骤假设源上启用了二进制日志记录(这是默认设置),副本使用基于 TABLE
的复制应用程序元数据存储库(这是 MySQL 8.3 中的默认设置),并且您已经启用了复制用户并记录了当前二进制日志文件的名称和位置。
使用 CHANGE REPLICATION SOURCE TO
语句在副本上配置每个源的复制通道(见 第 19.2.2 节,“复制通道”)。 FOR CHANNEL
子句用于指定通道。例如,要将 source1
和 source2
作为副本的源,使用 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.2 节,“CHANGE REPLICATION FILTER 语句”。