Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.2Mb
PDF (A4) - 40.3Mb
Man Pages (TGZ) - 262.0Kb
Man Pages (Zip) - 367.6Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


25.4.3.1 NDB Cluster Configuration: Basic Example

To support NDB Cluster, you should updatemy.cnf as shown in the following example. You may also specify these parameters on the command line when invoking the executables.

Note

The options shown here should not be confused with those that are used inconfig.ini global configuration files. Global configuration options are discussed later in this section.

# my.cnf# example additions to my.cnf for NDB Cluster# (valid in MySQL 8.4)# enable ndbcluster storage engine, and provide connection string for# management server host (default port is 1186)[mysqld]ndbclusterndb-connectstring=ndb_mgmd.mysql.com# provide connection string for management server host (default port: 1186)[ndbd]connect-string=ndb_mgmd.mysql.com# provide connection string for management server host (default port: 1186)[ndb_mgm]connect-string=ndb_mgmd.mysql.com# provide location of cluster configuration file# IMPORTANT: When starting the management server with this option in the# configuration file, the use of --initial or --reload on the command line when# invoking ndb_mgmd is also required.[ndb_mgmd]config-file=/etc/config.ini

(For more information on connection strings, seeSection 25.4.3.3, “NDB Cluster Connection Strings”.)

# my.cnf# example additions to my.cnf for NDB Cluster# (works on all versions)# enable ndbcluster storage engine, and provide connection string for management# server host to the default port 1186[mysqld]ndbclusterndb-connectstring=ndb_mgmd.mysql.com:1186
Important

Once you have started amysqld process with theNDBCLUSTER andndb-connectstring parameters in the[mysqld] in themy.cnf file as shown previously, you cannot execute anyCREATE TABLE orALTER TABLE statements without having actually started the cluster. Otherwise, these statements fail with an error.This is by design.

You may also use a separate[mysql_cluster] section in the clustermy.cnf file for settings to be read and used by all executables:

# cluster-specific settings[mysql_cluster]ndb-connectstring=ndb_mgmd.mysql.com:1186

For additionalNDB variables that can be set in themy.cnf file, seeSection 25.4.3.9.2, “NDB Cluster System Variables”.

The NDB Cluster global configuration file is by convention namedconfig.ini (but this is not required). If needed, it is read byndb_mgmd at startup and can be placed in any location that can be read by it. The location and name of the configuration are specified using--config-file=path_name withndb_mgmd on the command line. This option has no default value, and is ignored ifndb_mgmd uses the configuration cache.

The global configuration file for NDB Cluster uses INI format, which consists of sections preceded by section headings (surrounded by square brackets), followed by the appropriate parameter names and values. One deviation from the standard INI format is that the parameter name and value can be separated by a colon (:) as well as the equal sign (=); however, the equal sign is preferred. Another deviation is that sections are not uniquely identified by section name. Instead, unique sections (such as two different nodes of the same type) are identified by a unique ID specified as a parameter within the section.

Default values are defined for most parameters, and can also be specified inconfig.ini. To create a default value section, simply add the worddefault to the section name. For example, an[ndbd] section contains parameters that apply to a particular data node, whereas an[ndbd default] section contains parameters that apply to all data nodes. Suppose that all data nodes should use the same data memory size. To configure them all, create an[ndbd default] section that contains aDataMemory line to specify the data memory size.

If used, the[ndbd default] section must precede any[ndbd] sections in the configuration file. This is also true fordefault sections of any other type.

Note

In some older releases of NDB Cluster, there was no default value forNoOfReplicas, which always had to be specified explicitly in the[ndbd default] section. Although this parameter now has a default value of 2, which is the recommended setting in most common usage scenarios, it is still recommended practice to set this parameter explicitly.

The global configuration file must define the computers and nodes involved in the cluster and on which computers these nodes are located. An example of a simple configuration file for a cluster consisting of one management server, two data nodes and two MySQL servers is shown here:

# file "config.ini" - 2 data nodes and 2 SQL nodes# This file is placed in the startup directory of ndb_mgmd (the# management server)# The first MySQL Server can be started from any host. The second# can be started only on the host mysqld_5.mysql.com[ndbd default]NoOfReplicas= 2DataDir= /var/lib/mysql-cluster[ndb_mgmd]Hostname= ndb_mgmd.mysql.comDataDir= /var/lib/mysql-cluster[ndbd]HostName= ndbd_2.mysql.com[ndbd]HostName= ndbd_3.mysql.com[mysqld][mysqld]HostName= mysqld_5.mysql.com
Note

The preceding example is intended as a minimal starting configuration for purposes of familiarization with NDB Cluster , and is almost certain not to be sufficient for production settings. SeeSection 25.4.3.2, “Recommended Starting Configuration for NDB Cluster”, which provides a more complete example starting configuration.

Each node has its own section in theconfig.ini file. For example, this cluster has two data nodes, so the preceding configuration file contains two[ndbd] sections defining these nodes.

Note

Do not place comments on the same line as a section heading in theconfig.ini file; this causes the management server not to start because it cannot parse the configuration file in such cases.

Sections of the config.ini File

There are six different sections that you can use in theconfig.ini configuration file, as described in the following list:

You can definedefault values for each section. If used, adefault section should come before any other sections of that type. For example, an[ndbd default] section should appear in the configuration file before any[ndbd] sections.

NDB Cluster parameter names are case-insensitive, unless specified in MySQL Servermy.cnf ormy.ini files.