4.3.3 NDB集群连接字符串

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

[nodeid =node_id,)主机定义(,主机定义[…]]主机定义host_name[:port_number进行

node_id一个整数是否大于或等于1,以标识在中的节点config.inihost_name表示有效的Internet主机名或IP地址的字符串。port_number进行是指TCP/IP端口号的整数。

例1(长):"nodeid=2,myhost1:1100,myhost2:1100,198.51.100.3:1200"例2(短):"myhost1"

localhost: 1186如果没有提供,则使用默认连接字符串值。如果port_num从连接字符串中省略,默认端口为1186。这个端口应该始终在网络上可用,因为它是由IANA为此目的分配的(参见http://www.iana.org/assignments/port-numbers详情)。

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

也可以在连接字符串中指定一个或多个绑定地址,供具有多个网络接口的节点使用,用于连接到管理服务器。绑定地址由主机名或网络地址和可选端口号组成。这个增强的连接字符串语法如下所示:

[nodeid =node_id] [bind-address =主机定义,)主机定义(;bind-address =主机定义主机定义(;bind-address =主机定义] [, ...]]主机定义host_name[:port_number进行

如果在连接字符串中使用单个绑定地址之前要指定任何管理主机,则使用此地址作为连接到任何管理主机的默认地址(除非为给定的管理服务器覆盖;参见本节后面的示例)。例如,下面的连接字符串使节点使用198.51.100.242不管它连接到哪个管理服务器:

鲈鱼bind-address = 198.51.100.242,波塞冬:1186:1186

如果指定了绑定地址一个管理主机定义,那么它仅用于连接到该管理节点。考虑以下连接字符串:

波塞冬:1186;bind-address = localhost,鲈鱼:1186;bind-address = 198.51.100.242

在本例中,节点使用本地主机连接到运行在主机上的管理服务器波塞冬而且198.51.100.242连接到运行在主机上的管理服务器鲈鱼

您可以指定一个默认绑定地址,然后为一个或多个特定的管理主机覆盖这个默认地址。在下面的例子中,本地主机用于连接主机上运行的管理服务器波塞冬;自198.51.100.242首先指定(在任何管理服务器定义之前),它是默认绑定地址,因此用于连接到主机上的管理服务器鲈鱼而且虎鲸

bind-address = 198.51.100.242,波塞冬:1186;bind-address = localhost,鲈鱼:1186年,虎鲸:2200

有许多不同的方法来指定连接字符串:

  • 每个可执行文件都有自己的命令行选项,可以在启动时指定管理服务器。(相关可执行文件请10bet官方网站参见文档。)

  • 也可以通过将连接字符串放在(mysql_cluster)部分中的my.cnf文件。

  • 为了向后兼容,还有另外两个选项,使用相同的语法:

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

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

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

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