如何通过MySQL Cluster Manager配置NDB Cluster的mysqld节点直接TCP连接?
关于MySQL Cluster Manager配置mysqld节点直接TCP连接的解决方案
可以为mysqld节点配置直接TCP连接到NDB数据节点,你的问题出在使用了错误的MCM命令格式——针对mysqld节点的配置逻辑和ndbmtd数据节点不同,以下是具体操作步骤:
错误原因说明
你之前针对ndbmtd节点的命令是设置数据节点自身的节点ID与主机映射,这是数据节点间通信的专属配置方式。但mysqld作为SQL节点,它的直接TCP连接是指向数据节点的地址,而非配置自身节点ID的映射,所以原命令格式完全不适用。
正确配置步骤
1. 为mysqld节点设置直接连接参数
使用MCM的set命令,直接指定mysqld节点的ndb_connectstring属性,该参数用于定义mysqld要连接的NDB数据节点地址列表:
# 为mysqld:51配置直接连接数据节点的地址 set ndb_connectstring="192.168.1.2:1186,192.168.1.3:1186" mycluster mysqld:51; # 为mysqld:52配置相同的连接参数 set ndb_connectstring="192.168.1.2:1186,192.168.1.3:1186" mycluster mysqld:52;
注:1186是NDB数据节点的默认连接端口,若你的集群修改过端口,请替换为实际端口。
2. 应用配置并重启mysqld节点
配置完成后,需要让MCM重新生成配置并重启mysqld节点使参数生效:
# 重新生成集群配置 reconfigure mycluster; # 重启两个mysqld节点 restart mycluster mysqld:51 mysqld:52;
3. 验证配置是否生效
登录到mysqld节点执行SQL命令,查看连接参数是否正确:
SHOW VARIABLES LIKE 'ndb_connectstring';
返回结果中Value字段应显示你指定的数据节点地址列表,说明直接TCP连接配置成功。
内容的提问来源于stack exchange,提问作者xShink
相关产品推荐
相关产品推荐

