MySQL 集群 SQL 节点不同步

MySQL 集群 SQL 节点不同步

我是 MySQL Cluster 的新手,正在尝试为我们的新应用程序设置一个新集群。这是我在 5 CentOS 64 位 VM 上设置的,并使用 MySQL Cluster 7.2 使集群正常工作。我正在尝试测试它,但遇到了一些问题。

“我已成功安装了具有 5 个节点(2 个数据节点、1 个管理和 2 个 SQL 节点)的集群。在测试集群时,我遇到了一种情况,我陷入了困境,无法让它工作。以下是显示所有集群节点的管理节点的屏幕截图:

ndb_mgm>显示

集群配置

[ndbd(NDB)] 2 个节点 id=2 @10.0.3.138 (mysql-5.5.30 ndb-7.2.12,节点组:0) id=3 @10.0.3.83 (mysql-5.5.30 ndb-7.2.12,节点组:0,主节点)

[ndb_mgmd(MGM)] 1 个节点 id=1 @10.0.3.135 (mysql-5.5.30 ndb-7.2.12)

[mysqld(API)] 2 个节点 id=4 @10.0.3.87 (mysql-5.5.30 ndb-7.2.12) id=5 @10.0.3.22 (mysql-5.5.30 ndb-7.2.12)

ndb_mgm> 场景如下:

在集群中的所有节点都正常工作时,作为测试的一部分,我关闭了其中一个 SQL 节点 4,当此节点处于离线状态时,我删除了 SQL 节点 5 上集群数据库的一部分数据库。当我启动离线 SQL 节点 4 并重新加入集群时,删除的数据库仍会显示。它应该与旧的集群数据库同步,这意味着 SQL 节点 4 离线时删除的数据库应该从集群中删除,并且不应显示在 SQL 节点 4 上。这是一个可能发生的真实场景。

另外,我正在搜索描述这些场景的 MySQL Cluster 测试文档,但似乎找不到。“

任何帮助将不胜感激。

谢谢

答案1

我再次进行了测试,发现结果如下:

1) 我的 NDB 群集中有 2 个 Sql 节点 A 和 B,以及 2 个数据库 test 和 test1。我将 Sql 节点 A 从群集中移除(停止 mysqld)。2) 当 Sql 节点 A 不是群集的一部分时,我从 Sql 节点 B 中删除数据库 test1。3) 然后我将 Sql 节点 A 重新加入(启动 mysqld)群集。我仍然在 Sql 节点 A 上看到 test1,但 Sql 节点 B 没有它,因为我已将其删除。

因此,为了确认这不起作用,但是当我将表删除/添加到 test1 甚至实际上在表中添加/删除数据时,它们都已同步/复制。因此,这证实了当 Sql 节点不在集群中时,我们无法删除数据库,并且期望在发生此类删除时重新同步到不属于集群的节点。

相关内容