MariaDB集群,如何确保节点同步并具有相同的结构和数据

时间:2018-07-09 13:48:19

标签: mysql mariadb cluster-computing

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

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

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

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

我的问题是:我们如何监视这种情况是否发生? 有没有可用的工具/ mariadb变量来告诉我们某些不再同步的信息?

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

2 个答案:

答案 0 :(得分:0)

这是一个不错的例子:http://galeracluster.com/documentation-webpages/monitoringthecluster.html

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

答案 1 :(得分:0)

我会先抓住

mysqldump --no-data
每个节点的

。然后diff输出文件。

至于“监视”。我首先问问题是怎么发生的。是否允许随机人在没有传播表的情况下在 随机节点上制作表?您是否正在使用Galera提供的实用程序以外的其他工具来建立节点?