首页 > 解决方案 > MariaDB集群,如何确保节点同步并具有相同的结构和数据

问题描述

我有一个在三个节点上运行的 mariadb 集群。上周我注意到节点之间的某些表结构并不相同,例如,一个表有一个列允许 node2 上的 NULL 值,而 node1 上的同一个表不是 NULL。

我检查了集群运行状况(http://galeracluster.com/documentation-webpages/monitoringthecluster.html),一切似乎都正常。

我的集群配置为使用“总订单隔离”,所以我的理解是 DDL 更改应该复制到原始事务中的所有节点上。

所有写入和 DDL 请求都使用 HAProxy 发送到同一个节点 (node1)。

我的问题是:如果发生这种情况,我们如何监控?是否有可用的工具/mariadb 变量告诉我们某些内容不再同步?

到目前为止,我的解决方案是在似乎是有效节点的 node1 上备份数据库,删除所有表并应用节点 1 的备份。这会在所有节点上复制数据库。

标签: mysqlmariadbcluster-computing

解决方案


这是一个很好的 tut: http: //galeracluster.com/documentation-webpages/monitoringthecluster.html

看起来并非所有节点都在集群中。您是否使用 MaxScale 连接到活动节点?


推荐阅读