MySQL 5.7 Reference Manual Including MySQL NDB Cluster 7.5 and NDB Cluster 7.6
        To support NDB Cluster, you must to update
        my.cnf as shown in the following example.
        You may also specify these parameters on the command line when
        invoking the executables.
      
          The options shown here should not be confused with those that
          are used in config.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 5.7) # enable ndbcluster storage engine, and provide connection string for # management server host (default port is 1186) [mysqld] ndbcluster ndb-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, see Section 21.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] ndbcluster ndb-connectstring=ndb_mgmd.mysql.com:1186
          Once you have started a mysqld process with
          the NDBCLUSTER and
          ndb-connectstring parameters in the
          [mysqld] in the my.cnf
          file as shown previously, you cannot execute any
          CREATE TABLE or
          ALTER 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 cluster my.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 additional NDB variables that
        can be set in the my.cnf file, see
        Section 21.4.3.9.2, “NDB Cluster System Variables”.
      
        The NDB Cluster global configuration file is by convention named
        config.ini (but this is not required). If
        needed, it is read by ndb_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=
        with ndb_mgmd on the command line. This
        option has no default value, and is ignored if
        ndb_mgmd uses the configuration cache.
      path_name
        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 in config.ini. To create a
        default value section, simply add the word
        default 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 a
        DataMemory 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 for
        default sections of any other type.
      
          In some older releases of NDB Cluster, there was no default
          value for
          NoOfReplicas, 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= 2 DataDir= /var/lib/mysql-cluster [ndb_mgmd] Hostname= ndb_mgmd.mysql.com DataDir= /var/lib/mysql-cluster [ndbd] HostName= ndbd_2.mysql.com [ndbd] HostName= ndbd_3.mysql.com [mysqld] [mysqld] HostName= mysqld_5.mysql.com
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. See Section 21.4.3.2, “Recommended Starting Configuration for NDB Cluster”, which provides a more complete example starting configuration.
        Each node has its own section in the
        config.ini file. For example, this cluster
        has two data nodes, so the preceding configuration file contains
        two [ndbd] sections defining these nodes.
      
          Do not place comments on the same line as a section heading in
          the config.ini file; this causes the
          management server not to start because it cannot parse the
          configuration file in such cases.
        
        There are six different sections that you can use in the
        config.ini configuration file, as described
        in the following list:
      
            [computer]: Defines cluster hosts. This
            is not required to configure a viable NDB Cluster, but be
            may used as a convenience when setting up a large cluster.
            See Section 21.4.3.4, “Defining Computers in an NDB Cluster”, for
            more information.
          
            [ndbd]: Defines a cluster data node
            (ndbd process). See
            Section 21.4.3.6, “Defining NDB Cluster Data Nodes”, for
            details.
          
            [mysqld]: Defines the cluster's MySQL
            server nodes (also called SQL or API nodes). For a
            discussion of SQL node configuration, see
            Section 21.4.3.7, “Defining SQL and Other API Nodes in an NDB Cluster”.
          
            [mgm] or [ndb_mgmd]:
            Defines a cluster management server (MGM) node. For
            information concerning the configuration of management
            nodes, see Section 21.4.3.5, “Defining an NDB Cluster Management Server”.
          
            [tcp]: Defines a TCP/IP connection
            between cluster nodes, with TCP/IP being the default
            transport protocol. Normally, [tcp] or
            [tcp default] sections are not required
            to set up an NDB Cluster, as the cluster handles this
            automatically; however, it may be necessary in some
            situations to override the defaults provided by the cluster.
            See Section 21.4.3.10, “NDB Cluster TCP/IP Connections”, for
            information about available TCP/IP configuration parameters
            and how to use them. (You may also find
            Section 21.4.3.11, “NDB Cluster TCP/IP Connections Using Direct Connections” to be
            of interest in some cases.)
          
            [shm]: Defines shared-memory connections
            between nodes. In MySQL 5.7, it is enabled by
            default, but should still be considered experimental. For a
            discussion of SHM interconnects, see
            Section 21.4.3.12, “NDB Cluster Shared Memory Connections”.
          
            [sci]: Defines Scalable Coherent
            Interface connections between cluster data nodes. Not
            supported in NDB 7.5 or 7.6.
          
        You can define default values for each
        section. If used, a default 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 Server my.cnf or
        my.ini files.