Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

25.4.3.3 NDB 集群连接字符串

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

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

host-definition:
    host_name[:port_number]

node_id 是一个大于或等于 1 的整数,用于标识 config.ini 中的一个节点。 host_name 是一个表示有效 Internet 主机名或 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 集群数据或 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 文件中。