With the exception of the NDB Cluster management server (ndb_mgmd), each node that is part of an NDB Cluster requires a connection string that points to the management server's location. This connection string is used in establishing a connection to the management server as well as in performing other tasks depending on the node's role in the cluster. The syntax for a connection string is as follows:
[nodeid=node_id, ]host-definition[, host-definition[, ...]] host-definition: host_name[:port_number]
node_id is an integer greater than or equal
to 1 which identifies a node in
host_name is a string representing a
valid Internet host name or IP address.
port_number is an integer referring
to a TCP/IP port number.
example 1 (long): "nodeid=2,myhost1:1100,myhost2:1100,192.168.0.3:1200" example 2 (short): "myhost1"
localhost:1186 is used as the default
connection string value if none is provided. If
port_num is omitted from the
connection string, the default port is 1186. This port should
always be available on the network because it has been assigned
by IANA for this purpose (see
By listing multiple host definitions, it is possible to designate several redundant management servers. An NDB Cluster data or API node attempts to contact successive management servers on each host in the order specified, until a successful connection has been established.
It is also possible to specify in a connection string one or more bind addresses to be used by nodes having multiple network interfaces for connecting to management servers. A bind address consists of a hostname or network address and an optional port number. This enhanced syntax for connection strings is shown here:
[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]
If a single bind address is used in the connection string
prior to specifying any management hosts,
then this address is used as the default for connecting to any
of them (unless overridden for a given management server; see
later in this section for an example). For example, the
following connection string causes the node to use
192.168.178.242 regardless of the management
server to which it connects:
bind-address=192.168.178.242, poseidon:1186, perch:1186
If a bind address is specified following a management host definition, then it is used only for connecting to that management node. Consider the following connection string:
In this case, the node uses
connect to the management server running on the host named
192.168.178.242 to connect to the management
server running on the host named
You can specify a default bind address and then override this
default for one or more specific management hosts. In the
localhost is used for
connecting to the management server running on host
192.168.178.242 is specified first (before
any management server definitions), it is the default bind
address and so is used for connecting to the management servers
There are a number of different ways to specify the connection string:
Each executable has its own command-line option which enables specifying the management server at startup. (See the documentation for the respective executable.)
It is also possible to set the connection string for all nodes in the cluster at once by placing it in a
[mysql_cluster]section in the management server's
For backward compatibility, two other options are available, using the same syntax:
NDB_CONNECTSTRINGenvironment variable to contain the connection string.
Write the connection string for each executable into a text file named
Ndb.cfgand place this file in the executable's startup directory.
However, these are now deprecated and should not be used for new installations.
The recommended method for specifying the connection string is
to set it on the command line or in the
my.cnf file for each executable.