3节点树莓派Galera Cluster集群表数据不同步问题求助
Galera Cluster元数据同步但行数据不同步排查方案
- 存储引擎兼容性校验
Galera仅支持InnoDB引擎的行数据同步,MyISAM等其他引擎仅能同步元数据,行变更不会同步到其他节点。
排查命令:show table status from 替换为你的数据库名 where Engine != 'InnoDB';
修复方案:执行ALTER TABLE 替换为你的表名 ENGINE=InnoDB;将表切换为InnoDB引擎,不推荐使用非InnoDB引擎。 - 事务提交验证
如果写入数据时开启了显式事务但未执行COMMIT操作,写入内容仅当前会话可见,集群其他节点、甚至当前节点的其他会话都无法查询到对应数据。
排查方式:写入数据后立即执行COMMIT,再到其他节点查询验证是否同步。 - 全局同步开关校验
确保所有节点的全局同步开关处于开启状态,若仅会话级别开启同步,写入不会同步到集群。
排查命令:show global variables like 'wsrep_on';,正常返回值应为ON。 - 集群节点状态校验
确认所有节点均完成集群同步,不存在异常状态。
排查命令1:所有节点执行show status like 'wsrep_local_state_comment';,正常返回值应为Synced,返回Joining、Initialized说明节点仍在同步过程中,等待同步完成后再测试。
排查命令2:任意节点执行show status like 'wsrep_cluster_size';,返回值应为3,确认3台树莓派均成功加入集群。 - 同步过滤规则校验
确认未配置误过滤数据同步的规则。
排查命令:执行show variables like '%do_db%';、show variables like '%ignore_db%';,检查是否存在和你写入的数据库匹配的binlog_do_db/binlog_ignore_db/wsrep_do_db/wsrep_ignore_db过滤规则,存在的话删除对应配置重启集群即可。
内容的提问来源于stack exchange,提问作者Flieger Fuxi
相关产品推荐
相关产品推荐

