• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 将基于GTID的主服务器添加到多源复制从服务器

    这些步骤假定您已使用为主服务器上的事务启用了GTID gtid_mode=ON,创建了复制用户,确保从服务器正在使用TABLE基于复制的存储库,并在适当的情况下为从服务器提供了来自主服务器的数据。

    使用该CHANGE MASTER TO语句为复制从属服务器上的每个主服务器配置一个复制通道(请参见“复制通道”)。该FOR CHANNEL子句用于指定通道。对于基于GTID的复制,GTID自动定位用于与主数据库同步(请参见“ GTID自动定位”)。MASTER_AUTO_POSITION设置该选项以指定使用自动定位。

    例如,要向复制从属服务器添加master1master2作为主服务器,请使用mysql客户端CHANGE MASTER TO在从属服务器上两次发出该语句,如下所示:

    mysql> CHANGE MASTER TO MASTER_HOST="master1", MASTER_USER="ted", \
    MASTER_PASSWORD="password", MASTER_AUTO_POSITION=1 FOR CHANNEL "master_1";
    mysql> CHANGE MASTER TO MASTER_HOST="master2", MASTER_USER="ted", \
    MASTER_PASSWORD="password", MASTER_AUTO_POSITION=1 FOR CHANNEL "master_2";
    

    有关该CHANGE MASTER TO语句的完整语法和其他可用选项的信息,请参见“ CHANGE MASTER TO语句”。

    为了使复制从服务器只复制数据库db1master1,只有数据库db2master2,使用MySQL的客户端发出的CHANGE REPLICATION FILTER每个通道,类似这样的语句:

    mysql> CHANGE REPLICATION FILTER REPLICATE_WILD_DO_TABLE = ('db1.%') FOR CHANNEL "master_1";
    mysql> CHANGE REPLICATION FILTER REPLICATE_WILD_DO_TABLE = ('db2.%') FOR CHANNEL "master_2";
    

    有关该CHANGE REPLICATION FILTER语句的完整语法和其他可用选项的信息,请参见“ CHANGE REPLICATION FILTER语句”。