文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  ...  /  NDB Cluster 连接字符串

25.4.3.3 NDB Cluster 连接字符串

除了 NDB Cluster 管理服务器 (ndb_mgmd) 外,NDB Cluster 中的每个节点都需要一个指向管理服务器位置的 连接字符串。此连接字符串用于建立与管理服务器的连接,以及根据节点在集群中的角色执行其他任务。连接字符串的语法如下

[nodeid=node_id, ]host-definition[, host-definition[, ...]]

host-definition:
    host_name[:port_number]

node_id 是一个大于或等于 1 的整数,用于标识 config.ini 中的节点。 host_name 是一个字符串,表示有效的互联网主机名或 IP 地址。 port_number 是一个整数,表示 TCP/IP 端口号。

example 1 (long):    "nodeid=2,myhost1:1100,myhost2:1100,198.51.100.3:1200"
example 2 (short):   "myhost1"

localhost:1186 用作默认连接字符串值(如果未提供)。如果 port_num 从连接字符串中省略,则默认端口为 1186。此端口应始终在网络上可用,因为 IANA 已为此目的分配了它(有关详细信息,请参阅 http://www.iana.org/assignments/port-numbers)。

通过列出多个主机定义,可以指定多个冗余管理服务器。NDB Cluster 数据节点或 API 节点尝试按指定的顺序依次联系每个主机上的连续管理服务器,直到建立成功连接。

还可以为连接字符串指定一个或多个绑定地址,供具有多个网络接口的节点用于连接到管理服务器。绑定地址由主机名或网络地址和可选的端口号组成。此处显示了连接字符串的这种增强语法

[nodeid=node_id, ]
    [bind-address=host-definition, ]
    host-definition[; bind-address=host-definition]
    host-definition[; bind-address=host-definition]
    [, ...]]

host-definition:
    host_name[:port_number]

如果在指定任何管理主机 之前 在连接字符串中使用单个绑定地址,则此地址用作连接到任何管理主机的默认地址(除非为给定的管理服务器覆盖;有关示例,请参阅本节的后面内容)。例如,以下连接字符串会导致节点使用 198.51.100.242,而不管其连接到的管理服务器是什么

bind-address=198.51.100.242, poseidon:1186, perch:1186

如果在管理主机定义 之后 指定绑定地址,则它仅用于连接到该管理节点。请考虑以下连接字符串

poseidon:1186;bind-address=localhost, perch:1186;bind-address=198.51.100.242

在这种情况下,节点使用 localhost 连接到在名为 poseidon 的主机上运行的管理服务器,并使用 198.51.100.242 连接到在名为 perch 的主机上运行的管理服务器。

您可以指定默认绑定地址,然后为一个或多个特定管理主机覆盖此默认地址。在以下示例中,localhost 用于连接到在主机 poseidon 上运行的管理服务器;由于 198.51.100.242 最先指定(在任何管理服务器定义之前),因此它是默认绑定地址,因此用于连接到在主机 perchorca 上运行的管理服务器

bind-address=198.51.100.242,poseidon:1186;bind-address=localhost,perch:1186,orca:2200

有许多不同的方法可以指定连接字符串

  • 每个可执行文件都有自己的命令行选项,允许在启动时指定管理服务器。(请参阅相应可执行文件的文档。)

  • 还可以通过将连接字符串放在管理服务器的 my.cnf 文件中的 [mysql_cluster] 部分中,一次性为集群中的所有节点设置连接字符串。

  • 为了向后兼容,可以使用两个其他选项,它们使用相同的语法

    1. 设置 NDB_CONNECTSTRING 环境变量以包含连接字符串。

    2. 将每个可执行文件的连接字符串写入名为 Ndb.cfg 的文本文件,并将此文件放在可执行文件的启动目录中。

    但是,这些现在已弃用,不应在新的安装中使用。

指定连接字符串的推荐方法是在命令行上或在每个可执行文件的 my.cnf 文件中设置它。