今天我的数据中心发生了断路器故障,导致我的服务器断电。我正在运行一个4节点的MySQL集群。我重新启动了集群,首先是管理节点,然后是数据节点,然后在数据节点运行后我启动了SQL节点。然后我用ndb_mgm -e SHOW检查了集群。在我尝试运行查询之前,一切似乎都很好。我收到了这个错误,
ERROR 1296(HY000):收到错误157'未知错误代码'来自NDBCLUSTER
我检查MySQL日志,但找不到任何错误。然后我尝试完全关闭并重新启动MySQL集群,并在关闭和启动之间检查配置。一切似乎都结束了。然后,我使用NDBCLUSTER引擎在另一个数据库上运行查询。查询成功了。我试过搜索谷歌,但没有人似乎有任何答案有帮助。我已经检查了配置,我确保ndbd正在数据节点上运行,等等。其他数据库似乎工作正常,除了这个。我有数据库的备份,但如果可能的话,我最好还是恢复数据库。
如果有人有任何建议或想法,我们将不胜感激。
提前致谢。
答案 0 :(得分:7)
错误157实际上是“无法连接到存储引擎”,而且MySQL无法正确报告错误的事实是一个错误:http://bugs.mysql.com/bug.php?id=44817
该错误中描述的情况提到您在群集仍处于关闭状态时尝试查询NDB中的表时会收到错误。
所以我只是猜测,但我会得出结论,你的集群没有启动。要么你错过了启动其中一个节点,要么在启动其中一个节点时出错了。
答案 1 :(得分:0)
检查mysql服务器是否真正连接到NDB存储。 从应该连接到NDB的mysql服务器
显示全局状态'Ndb_cluster_node_id';
答案是> 0?
显示全球状态'Ndb_number_of_data_nodes';
答案是> 0?
如果没有,那么mysql服务器没有连接,然后我建议你检查你的防火墙和/ etc / hosts表,并确保你没有这样的行:
127.0.0.1 localhost ..
祝你好运
约翰