如何在MYSQL 5.7中为不同的通道设置不同的Replication_Do_db?

时间:2018-11-27 07:26:42

标签: mysql replication

我在每个通道中设置不同的Replication_Do_db复制时遇到问题。 所以我想这样设置:通道a的replicate_do_db = db1,通道b的replicate_do_db = db2 据我所知,我们可以在mysql 8中使用CHANGE REPLICATION FILTER REPLICATE_DO_DB =(d1)FOR CHANNEL channel_1。 但是,如果我们在mysql 5.7中使用该怎么办? 有什么解决办法吗?

1 个答案:

答案 0 :(得分:0)

看起来您有一个主机和多个从机,每个从机用于一个不同的数据库。 您可以通过在slave my.cnf中指定

来将master上的每个数据库复制到不同的slave。

从站1(频道_1)

[mysqld]
replicate-do-db=channel_1

从站2(频道_2)

[mysqld]
replicate-do-db=channel_2

以此类推。 请注意,每个从属服务器仍将中继所有二进制日志(即每个数据库的全部数据),但根据my.cnf中指定的数据库,有选择地将它们应用到从属服务器中。

这是事后考虑,如果您的问题是有关如何在replicate-do-db选项中指定多个数据库的,可以用逗号分隔-

[mysqld]
replicate-do-db=channel_1,channel_2