注:
(1)slave节点程序需要指定primary_nodeid参数,master节点不需要配置此参数,配置的话可以为0,向自己节点的topic发布数据,并且全量正常发布;
以下都是slave节点上设置了primary_nodeid,并且以下都是slave节点上设置了primary_nodeid值为master节点id时:
(2)只有mater节点才能全量,slave节点不要启动全量进程,主节点数据库正常情况下才能发起全量;
(3)slave节点只会向mater节点的topic中送数据,自己本身的topic不会产生数据;
(4)slave节点需要关闭log_slave_updates,否则mater和slave都会产生数据,导致数据重复;
(5)master节点异常,业务切换到slave节点,slave节点的zcbus程序就会自动发布增量数据;
(6)只有mater节点分配同步策略,其他slave节点分配的同步策略无效,只会向mater节点的topic中送数据;
slave节点关闭log_slave_updates(mysql数据库默认关闭log_slave_updates功能)
检查log_slave_updates是否打开:
show variables like 'log_slave_updates';
log_slave_updates参数没法在线修改:
mysql> set global log_slave_updates=0;
ERROR 1238 (HY000): Variable 'log_slave_updates' is a read only variable
关闭log_slave_updates:
/etc/my.cnf里面设置log_slave_updates=0:
[mysqld]
log_slave_updates=0
重启数据库后就可以了;
变量名 | 默认值 | 是否隐藏函数 | 描述 |
---|---|---|---|
primary_nodeid | 0 | 不隐藏 | mysql集群切换的情况,为了能正常复制,需要主库和从库都配置一套程序,主库正常配置完之后,配置从库时,这里可以配置从库对应的主库的nodeid,从库将使用主库的表配置信息,这样,相同表的操作,会送到同一个topic里 |
文档更新时间: 2021-06-27 20:33 作者:周风磊