MySQL Cluster管理结点的config.ini配置文件是整个集群的核心配置依据,所有数据结点、SQL结点的运行参数都需要在这个文件中定义,配置的正确性直接决定集群能否正常启动和提供服务。合理的配置能够提升集群的可用性和性能,减少运行过程中的故障问题。

config.ini文件的基本结构
config.ini文件由多个配置段组成,每个配置段负责定义一类结点的参数,常见的配置段包括全局配置段、管理结点配置段、数据结点配置段、SQL结点配置段,不同配置段的参数有不同的作用范围。
核心配置段说明
- [ndbd default]:数据结点的默认配置段,这里设置的参数会被所有数据结点继承,不需要在每个数据结点配置段重复设置
- [ndb_mgmd]:管理结点配置段,定义管理结点的IP、端口、数据目录等参数
- [ndbd]:单个数据结点配置段,用于定义每个数据结点的ID、IP等个性化参数
- [mysqld]:SQL结点配置段,定义SQL结点的ID、IP等参数
常用参数详解
全局及管理结点参数
以下是管理结点相关的常用参数说明:
| 参数名 | 作用 | 默认值 |
|---|---|---|
| DataDir | 管理结点存储集群状态、日志等数据的目录,需要提前创建并保证权限正确 | 无,必须手动设置 |
| PortNumber | 管理结点监听的端口,用于接收其他结点的连接请求 | 1186 |
| NodeId | 管理结点的唯一标识ID,同一个集群内所有结点ID不能重复 | 自动分配 |
数据结点参数
数据结点相关的关键参数如下:
- NoOfReplicas:数据副本数,表示每个数据分片存储的副本数量,一般设置为2保证高可用
- DataMemory:数据结点用于存储数据的共享内存大小,需要根据实际数据量设置
- IndexMemory:数据结点用于存储索引的共享内存大小
- ServerPort:数据结点监听的端口,用于和SQL结点、其他数据结点通信
完整配置示例
以下是一个包含1个管理结点、2个数据结点、2个SQL结点的标准config.ini示例,用户可以根据自身集群规模调整参数:
# 数据结点默认配置段 [ndbd default] NoOfReplicas=2 DataMemory=512M IndexMemory=128M ServerPort=2202 # 管理结点配置段 [ndb_mgmd] NodeId=1 HostName=192.168.0.10 DataDir=/var/lib/mysql-cluster # 第一个数据结点 [ndbd] NodeId=2 HostName=192.168.0.11 DataDir=/usr/local/mysql/data # 第二个数据结点 [ndbd] NodeId=3 HostName=192.168.0.12 DataDir=/usr/local/mysql/data # 第一个SQL结点 [mysqld] NodeId=4 HostName=192.168.0.13 # 第二个SQL结点 [mysqld] NodeId=5 HostName=192.168.0.14
配置注意事项
在编写config.ini文件时需要注意以下几点,避免配置错误:
- 所有结点的
NodeId必须唯一,不能出现重复ID,否则集群启动时会报错 DataDir指定的目录必须提前创建,并且保证运行MySQL Cluster的用户有读写权限,否则管理结点无法写入状态数据NoOfReplicas的值不能超过数据结点的总数,否则会导致副本无法分配,集群无法正常启动- 修改config.ini文件后,需要重启管理结点和所有相关结点才能生效,重启前建议备份原配置文件
常见配置错误排查
如果集群启动失败,可以先检查config.ini的配置问题:
如果管理结点启动时报错提示无法找到配置文件,需要确认启动命令中指定的config.ini路径是否正确,默认会读取/etc/mysql-cluster/config.ini路径。
如果数据结点无法连接到管理结点,可以检查管理结点的HostName和PortNumber是否配置正确,同时确认防火墙是否放通了对应端口的访问。
如果SQL结点连接集群失败,需要检查SQL结点的NodeId是否在config.ini中正确定义,并且和SQL结点配置文件中指定的管理结点地址一致。
MySQL_Clusterconfig.ini管理结点集群配置修改时间:2026-06-07 00:31:20