The [mysqld]
and [api]
sections in the config.ini
file define the
behavior of the MySQL servers (SQL nodes) and other applications
(API nodes) used to access cluster data. None of the parameters
shown is required. If no computer or host name is provided, any
host can use this SQL or API node.
Generally speaking, a [mysqld]
section is
used to indicate a MySQL server providing an SQL interface to
the cluster, and an [api]
section is used for
applications other than mysqld processes
accessing cluster data, but the two designations are actually
synonomous; you can, for instance, list parameters for a MySQL
server acting as an SQL node in an [api]
section.
For a discussion of MySQL server options for MySQL Cluster, see Section 15.3.4.2, “mysqld Command Options for MySQL Cluster”; for information about MySQL server system variables relating to MySQL Cluster, see Section 15.3.4.3, “MySQL Cluster System Variables”.
Version Introduced | 4.1.3 | |
Restart Type | node | |
Permitted Values (>= 4.1.3) | ||
Type | numeric |
|
Default |
|
|
Range | 1-63 |
The Id
is an integer value used to
identify the node in all cluster internal messages. It must
be an integer in the range 1 to 63 inclusive, and must be
unique among all node IDs within the cluster.
This parameter can also be written as
NodeId
, although the short form is
sufficient (and preferred for this reason).
Version Introduced | 4.1.3 | |
Restart Type | system | |
Permitted Values (>= 4.1.3) | ||
Type | string |
|
Default |
|
|
Range | - |
This refers to the Id
set for one of the
computers (hosts) defined in a [computer]
section of the configuration file.
Version Introduced | 4.1.3 | |
Restart Type | system | |
Permitted Values (>= 4.1.3) | ||
Type | string |
|
Default |
|
|
Range | - |
Specifying this parameter defines the hostname of the
computer on which the SQL node (API node) is to reside. To
specify a hostname, either this parameter or
ExecuteOnComputer
is required.
If no HostName
or
ExecuteOnComputer
is specified in a given
[mysql]
or [api]
section of the config.ini
file, then an
SQL or API node may connect using the corresponding
“slot” from any host which can establish a
network connection to the management server host machine.
This differs from the default behavior for data
nodes, where localhost
is assumed for
HostName
unless otherwise
specified.
Version Introduced | 4.1.3 | |
Restart Type | node | |
Permitted Values (>= 4.1.3) | ||
Type | numeric |
|
Default | 0 |
|
Range | 0-2 |
This parameter defines which nodes can act as arbitrators.
Both MGM nodes and SQL nodes can be arbitrators. A value of
0 means that the given node is never used as an arbitrator,
a value of 1 gives the node high priority as an arbitrator,
and a value of 2 gives it low priority. A normal
configuration uses the management server as arbitrator,
setting its ArbitrationRank
to 1 (the
default for management nodes) and those for all SQL nodes to
0 (the default for SQL nodes).
Version Introduced | 4.1.3 | |
Restart Type | node | |
Permitted Values (>= 4.1.3) | ||
Type | numeric |
|
Default | 0 |
|
Range | 0-4G |
Setting this parameter to any other value than 0 (the default) means that responses by the arbitrator to arbitration requests will be delayed by the stated number of milliseconds. It is usually not necessary to change this value.
Version Introduced | 4.1.3 | |
Restart Type | node | |
Permitted Values | ||
Type | numeric |
|
Default | 32K |
|
Range | 1024-1M |
For queries that are translated into full table scans or
range scans on indexes, it is important for best performance
to fetch records in properly sized batches. It is possible
to set the proper size both in terms of number of records
(BatchSize
) and in terms of bytes
(BatchByteSize
). The actual batch size is
limited by both parameters.
The speed at which queries are performed can vary by more than 40% depending upon how this parameter is set. In future releases, MySQL Server will make educated guesses on how to set parameters relating to batch size, based on the query type.
This parameter is measured in bytes and by default is equal to 32KB.
Version Introduced | 4.1.3 | |
Restart Type | node | |
Permitted Values | ||
Type | numeric |
|
Default | 64 |
|
Range | 1-992 |
This parameter is measured in number of records and is by default set to 64. The maximum size is 992.
Version Introduced | 4.1.3 | |
Restart Type | node | |
Permitted Values (>= 4.1.3) | ||
Type | numeric |
|
Default | 256K |
|
Range | 32K-16M |
The batch size is the size of each batch sent from each data node. Most scans are performed in parallel to protect the MySQL Server from receiving too much data from many nodes in parallel; this parameter sets a limit to the total batch size over all nodes.
The default value of this parameter is set to 256KB. Its maximum size is 16MB.
You can obtain some information from a MySQL server running as a
Cluster SQL node using SHOW
STATUS
in the mysql
client, as
shown here:
mysql> SHOW STATUS LIKE 'ndb%';
+-----------------------------+---------------+
| Variable_name | Value |
+-----------------------------+---------------+
| Ndb_cluster_node_id | 5 |
| Ndb_config_from_host | 192.168.0.112 |
| Ndb_config_from_port | 1186 |
| Ndb_number_of_storage_nodes | 4 |
+-----------------------------+---------------+
4 rows in set (0.02 sec)
For information about these Cluster system status variables, see Section 5.1.6, “Server Status Variables”.
To add new SQL or API nodes to the configuration of a running
MySQL Cluster, it is necessary to perform a rolling restart of
all cluster nodes after adding new [mysqld]
or [api]
sections to the
config.ini
file (or files, if you are
using more than one management server). This must be done
before the new SQL or API nodes can connect to the cluster.
It is not necessary to perform any restart of the cluster if new SQL or API nodes can employ previously unused API slots in the cluster configuration to connect to the cluster.
User Comments
Add your own comment.