5

今天我的数据中心发生了一个断路器故障,导致我的服务器断电。我正在运行一个 4 节点 MySQL 集群。我重新启动了集群,首先是管理节点,然后是数据节点,然后在数据节点运行后,我启动了 SQL 节点。然后我用 ndb_mgm -e SHOW 检查了集群。在我尝试运行查询之前,一切似乎都很好。我得到了这个错误,

错误 1296 (HY000):从 NDBCLUSTER 收到错误 157“未知错误代码”

我检查了 MySQL 日志,没有发现任何错误。然后我尝试完全关闭并重新启动 MySQL 集群并检查关闭和启动之间的配置。一切似乎都结束了。然后我使用 NDBCLUSTER 引擎在另一个数据库上运行查询。查询成功。我试过搜索谷歌,但似乎没有人有任何帮助的答案。我检查了配置,确保 ndbd 正在数据节点上运行,等等。除了这个之外,其他数据库似乎工作正常。我有数据库的备份,但如果可能的话,我最好恢复数据库。

如果有人有任何建议或想法,将不胜感激。

提前致谢。

4

2 回答 2

8

错误 157 实际上是“无法连接到存储引擎”,而 MySQL 未能正确报告该错误的事实是一个错误: http ://bugs.mysql.com/bug.php?id=44817

该错误中描述的案例提到,当您尝试在集群仍处于关闭状态时查询 NDB 中的表时,您会收到错误。

所以我只是猜测,但我会得出结论,你的集群没有启动。要么您错过了启动其中一个节点,要么在启动其中一个节点时出现了问题。

于 2013-08-30T02:57:12.033 回答
0

检查 mysql 服务器是否真的连接到 NDB 存储。从应该连接到 NDB 的 mysql 服务器执行

显示全局状态,如“Ndb_cluster_node_id”;

答案 > 0 吗?

显示全局状态,如“Ndb_number_of_data_nodes”;

答案 > 0 吗?

如果没有,那么 mysql 服务器没有连接,然后我建议你检查你的防火墙和 /etc/hosts 表,并确保你没有这样的行:

127.0.0.1 本地主机 ..

此致

约翰

于 2013-08-30T14:30:58.063 回答