"老王,咱们的MySQL集群监控突然全红了!"凌晨3点,运维小张的电话把我从睡梦中惊醒,我揉了揉眼睛,连上VPN查看日志,发现满屏都是"MY-010400 ER_NDB_INFO_FAILED_TO_CREATE_NDBINFO"的报错,这个报错看起来和NDB集群相关,但具体该怎么处理?别急,咱们一步步来排查。
这个错误代码MY-010400
对应的完整错误信息是:
[ERROR] [MY-010400] [Server] Failed to create ndbinfo database/tables (error: %d)
属于MySQL NDB集群特有的错误,SQLSTATE为HY000(通用错误状态),就是MySQL服务器无法创建或访问ndbinfo
这个特殊的数据库,而这个库对NDB集群监控至关重要。
根据2025年8月的最新社区反馈,导致这个问题的常见原因包括:
-- 确认NDB引擎是否加载 SHOW ENGINES; -- 检查ndbinfo数据库是否存在 SHOW DATABASES LIKE 'ndbinfo';
如果NDB引擎状态不是"YES"或"DEFAULT",说明引擎未正确加载。
# 连接到管理节点 ndb_mgm > SHOW
检查所有节点状态是否为"Started",如果有节点显示"Not connected",需要先解决集群连接问题。
如果自动创建失败,可以尝试手动创建:
-- 以root用户登录MySQL CREATE DATABASE IF NOT EXISTS ndbinfo; USE ndbinfo; SOURCE /usr/share/mysql/ndb_info.sql; -- 路径可能因安装方式不同而变化
查看MySQL错误日志获取更详细的错误信息:
tail -n 100 /var/log/mysql/error.log | grep -i ndbinfo
确保MySQL用户有足够权限:
GRANT ALL PRIVILEGES ON ndbinfo.* TO 'mysql'@'localhost'; FLUSH PRIVILEGES;
确认my.cnf/my.ini中包含正确的NDB配置:
[mysqld] ndbcluster ndb-connectstring=管理节点IP:1186
如果上述方法无效,可以尝试:
重启管理节点:有时候管理节点的元数据缓存可能导致问题
ndb_mgm -e "1 RESTART"
检查端口连通性:
telnet 管理节点IP 1186
验证版本兼容性:
SHOW VARIABLES LIKE 'ndb%version%';
ndbinfo
数据库的健康状态遇到MY-010400错误时不要慌张,按照"检查集群状态→验证权限→手动创建→检查日志"的步骤系统排查,大多数情况下,这个问题都可以通过正确的权限配置或集群重启解决,如果问题持续存在,可能需要考虑备份数据后重建集群。
处理生产环境问题时要谨慎,重大操作前一定要做好备份!
本文由 扈代巧 于2025-08-04发表在【云服务器提供商】,文中图片由(扈代巧)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/538214.html
发表评论