TCP/IP is the default transport mechanism for all connections between nodes in a MySQL Cluster. Normally it is not necessary to define TCP/IP connections; MySQL Cluster automatically sets up such connections for all data nodes, management nodes, and SQL or API nodes.
For an exception to this rule, see Section 3.2.9, “MySQL Cluster TCP/IP Connections Using Direct Connections”.
To override the default connection parameters, it is necessary
to define a connection using one or more
[tcp]
sections in the
config.ini
file. Each
[tcp]
section explicitly defines a TCP/IP
connection between two MySQL Cluster nodes, and must contain at
a minimum the parameters NodeId1
and
NodeId2
, as well as any connection parameters
to override.
It is also possible to change the default values for these
parameters by setting them in the [tcp
default]
section.
Any [tcp]
sections in the
config.ini
file should be listed
last, following all other sections in the
file. However, this is not required for a [tcp
default]
section. This requirement is a known issue
with the way in which the config.ini
file
is read by the MySQL Cluster management server.
Connection parameters which can be set in
[tcp]
and [tcp default]
sections of the config.ini
file are listed
here:
To identify a connection between two nodes it is necessary
to provide their node IDs in the [tcp]
section of the configuration file. These are the same unique
Id
values for each of these nodes as
described in Section 3.2.7, “Defining SQL and Other API Nodes in a MySQL Cluster”.
Beginning in MySQL Cluster NDB 6.4.0, this parameter can be used to determine the amount of unsent data that must be present in the send buffer before the connection is considered overloaded. See Section 3.2.13, “Configuring MySQL Cluster Send Buffer Parameters”, for more information.
Restart Type | node | |
Permitted Values | ||
Type | numeric |
|
Default | 256K |
|
Range | 64K-4G |
TCP transporters use a buffer to store all messages before performing the send call to the operating system. When this buffer reaches 64KB its contents are sent; these are also sent when a round of messages have been executed. To handle temporary overload situations it is also possible to define a bigger send buffer.
Prior to MySQL Cluster NDB 7.0, this parameter determined a
fixed amount of memory allocated at startup for each
configured TCP connection. Beginning with MySQL Cluster NDB
6.4.0, memory is not dedicated to each transporter. Instead,
the value denotes the hard limit for how much memory (out of
the total available memory — that is,
TotalSendBufferMemory
) that may be used
by a single transporter. For more information about
configuring dynamic transporter send buffer memory
allocation in MySQL Cluster NDB 7.0 and later, see
Section 3.2.13, “Configuring MySQL Cluster Send Buffer Parameters”.
In MySQL Cluster NDB 6.4.3 and earlier, the default size of the send buffer was 256 KB; in MySQL Cluster NDB 7.0.4 and later, it is 2MB, which is the size recommended in most situations. The minimum size is 64 KB; the theoretical maximum is 4 GB.
Restart Type | node | |
Permitted Values | ||
Type | boolean |
|
Default | false (debug builds: true) |
|
Range | - |
To be able to retrace a distributed message datagram, it is
necessary to identify each message. When this parameter is
set to Y
, message IDs are transported
over the network. This feature is disabled by default in
production builds, and enabled in -debug
builds.
Restart Type | node | |
Permitted Values | ||
Type | boolean |
|
Default | false |
|
Range | - |
This parameter is a boolean parameter (enabled by setting it
to Y
or 1
, disabled by
setting it to N
or 0
).
It is disabled by default. When it is enabled, checksums for
all messages are calculated before they placed in the send
buffer. This feature ensures that messages are not corrupted
while waiting in the send buffer, or by the transport
mechanism.
This formerly specified the port number to be used for listening for connections from other nodes. This parameter should no longer be used.
Restart Type | node | |
Permitted Values | ||
Type | numeric |
|
Default | 64K |
|
Range | 16K-4G |
Specifies the size of the buffer used when receiving data from the TCP/IP socket.
In MySQL Cluster NDB 6.4.3 and earlier, the default value of this parameter was 64 KB; beginning with MySQL Cluster NDB 7.0.4, 2MB is the default. The minimum possible value is 16KB; the theoretical maximum is 4GB.