MySQL 8.0参考手册
MySQL 8.0版本说明
这些步骤假设您已经为使用的源上的事务启用了gtidgtid_mode =对
,创建了一个复制用户,确保副本正在使用表格
基于复制应用程序元数据存储库,并在适当的情况下为复制提供来自源的数据。
使用将复制源更改为
语句(从MySQL 8.0.23)或将master更改为
语句(在MySQL 8.0.23之前)为副本上的每个源配置复制通道(参见第5.2节“复制通道”).的为通道
子句用于指定通道。对于基于GTID的复制,GTID自动定位用于与源同步(参见第2.3.3节“GTID自动定位”).的SOURCE_AUTO_POSITION
|MASTER_AUTO_POSITION
选项设置为指定使用自动定位。
例如,添加source1
而且source2
作为副本的源,请使用mysql客户端在副本上发出两次语句,像这样:
修改MASTER为MASTER_HOST="source1", MASTER_USER="ted", \ MASTER_PASSWORD="密码, MASTER_AUTO_POSITION=1 FOR CHANNEL "source_1";修改MASTER为MASTER_HOST="source2", MASTER_USER="ted", \ MASTER_PASSWORD="密码, MASTER_AUTO_POSITION=1 FOR CHANNEL "source_2";或者从MySQL 8.0.23: MySQL > CHANGE REPLICATION SOURCE TO SOURCE_HOST="source1", SOURCE_USER="ted", \ SOURCE_PASSWORD="密码", SOURCE_AUTO_POSITION=1为通道"source_1";mysql>更改复制源为SOURCE_HOST=" SOURCE_HOST ", SOURCE_USER="ted", \ SOURCE_PASSWORD="密码", SOURCE_AUTO_POSITION=1 FOR CHANNEL "source_2";
使副本只复制数据库db1
从source1
,仅数据库db2
从source2
,使用mysql客户端发出更改复制筛选器
语句,如下所示:
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语句.