gpt4 book ai didi

使用 2 个 mysqld(API) 的 Mysql 集群每次访问都会产生不同的表

转载 作者:行者123 更新时间:2023-11-29 12:39:39 24 4
gpt4 key购买 nike

我正在运行一个带有 4 个数据节点和 2 个服务器的 mysql 集群,每个服务器上都有一个访问(API)和管理节点。

如果我使用 API 节点 1 创建一个表,如果我尝试在 API 节点 2 上访问它,它会显示为不存在。任何人都可以解释为什么会出现这种情况或如何纠正它。在 2 个独立的服务器上运行 2 个 API 节点的目的是为了实现冗余。

请参阅下面的 SHOW 配置(我已删除我的 ip):

Cluster Configuration
---------------------
[ndbd(NDB)] 4 node(s)
id=5 @*.*.*.* (mysql-5.6.19 ndb-7.3.6, Nodegroup: 0)
id=6 @*.*.*.* (mysql-5.6.19 ndb-7.3.6, Nodegroup: 0, *)
id=7 @*.*.*.* (mysql-5.6.19 ndb-7.3.6, Nodegroup: 1)
id=8 @*.*.*.* (mysql-5.6.19 ndb-7.3.6, Nodegroup: 1)

[ndb_mgmd(MGM)] 2 node(s)
id=1 @*.*.*.* (mysql-5.6.19 ndb-7.3.6)
id=2 @*.*.*.* (mysql-5.6.19 ndb-7.3.6)

[mysqld(API)] 2 node(s)
id=3 @*.*.*.* (mysql-5.6.19 ndb-7.3.6)
id=4 @*.*.*.* (mysql-5.6.19 ndb-7.3.6)

如果您需要更多信息来回答,请询问,我会更新我的问题。

最佳答案

您使用的存储引擎是否正确?如果表要“集群”(存储在集群数据节点上),您应该使用engine=ndbcluster。

作为 innodb 或 myisam 创建的表将本地存储在其创建的节点上,并且无法从其他 mysql api 节点访问。

可以通过更改表将存储节点转换为ndb引擎。

更改表引擎=ndbcluster;

关于使用 2 个 mysqld(API) 的 Mysql 集群每次访问都会产生不同的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26301916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com