首页 > 解决方案 > 如何在 MYSQL 5.7 中为不同的通道设置不同的 replication_do_db?

问题描述

我有问题在每个通道中设置不同的 replication_do_db 复制。所以我想这样设置:对于通道 a 的复制_do_db = db1 和对于通道 b 的复制_do_db = db2 据我所知,我们可以在 mysql 8 中使用 CHANGE REPLICATION FILTER REPLICATE_DO_DB = (d1) FOR CHANNEL channel_1。但是如果我们在 mysql 中使用如何5.7?任何解决方案?

标签: mysqlreplication

解决方案


看起来您有一个主服务器和多个从服务器,每个服务器都用于不同的数据库。您可以通过在 slave my.cnf 中指定它来将 master 上的每个数据库复制到不同的 slave

从站 1 (channel_1)

[mysqld]
replicate-do-db=channel_1

从站 2 (channel_2)

[mysqld]
replicate-do-db=channel_2

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

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

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

推荐阅读