mysql - 如何在 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?任何解决方案?
解决方案
看起来您有一个主服务器和多个从服务器,每个服务器都用于不同的数据库。您可以通过在 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
推荐阅读
- vhdl - VHDL shift_right 数字
- postgresql - psycopg2 不插入 unicode 数据
- spring - 使用聚合函数的查询方法验证失败
- python - 使用 dict 查找矢量化 for 循环
- ios - 使用 CocoaPods 和 Swift 包管理器设置库
- reactjs - 将 Link 组件与 ListItem 和 Typescript 一起使用
- xml - Oracle, XML 插入语句
- excel - 将一个 Evaluate 语句的输出传递给另一个。出现错误 2015
- gradle - 使用 gradle Zip 任务在存档中包含单个目录
- python - 在事件循环中共享队列