MySQL 9.4 Reference Manual Including MySQL NDB Cluster 9.4
      mysqld is the traditional MySQL server process.
      To be used with NDB Cluster, mysqld needs to be
      built with support for the NDB
      storage engine, as it is in the precompiled binaries available
      from https://dev.mysql.com/downloads/. If you build MySQL from
      source, you must invoke CMake with the
      -DWITH_NDB=1 or (deprecated)
      -DWITH_NDBCLUSTER=1 option to
      include support for NDB.
    
For more information about compiling NDB Cluster from source, see Section 25.3.1.4, “Building NDB Cluster from Source on Linux”, and Section 25.3.2.2, “Compiling and Installing NDB Cluster from Source on Windows”.
(For information about mysqld options and variables, in addition to those discussed in this section, which are relevant to NDB Cluster, see Section 25.4.3.9, “MySQL Server Options and Variables for NDB Cluster”.)
      If the mysqld binary has been built with
      Cluster support, the NDBCLUSTER
      storage engine is still disabled by default. You can use either of
      two possible options to enable this engine:
    
          Use --ndbcluster as a startup
          option on the command line when starting
          mysqld.
        
          Insert a line containing ndbcluster in the
          [mysqld] section of your
          my.cnf file.
        
      An easy way to verify that your server is running with the
      NDBCLUSTER storage engine enabled is
      to issue the SHOW ENGINES statement
      in the MySQL Monitor (mysql). You should see
      the value YES as the Support
      value in the row for NDBCLUSTER. If
      you see NO in this row or if there is no such
      row displayed in the output, you are not running an
      NDB-enabled version of MySQL. If you
      see DISABLED in this row, you need to enable it
      in either one of the two ways just described.
    
To read cluster configuration data, the MySQL server requires at a minimum three pieces of information:
The MySQL server's own cluster node ID
The host name or IP address for the management server
The number of the TCP/IP port on which it can connect to the management server
Node IDs can be allocated dynamically, so it is not strictly necessary to specify them explicitly.
      The mysqld parameter
      ndb-connectstring is used to specify the
      connection string either on the command line when starting
      mysqld or in my.cnf. The
      connection string contains the host name or IP address where the
      management server can be found, as well as the TCP/IP port it
      uses.
    
      In the following example, ndb_mgmd.mysql.com is
      the host where the management server resides, and the management
      server listens for cluster messages on port 1186:
    
$> mysqld --ndbcluster --ndb-connectstring=ndb_mgmd.mysql.com:1186
See Section 25.4.3.3, “NDB Cluster Connection Strings”, for more information on connection strings.
Given this information, the MySQL server can act as a full participant in the cluster. (We often refer to a mysqld process running in this manner as an SQL node.) It is fully aware of all cluster data nodes as well as their status, and establishes connections to all data nodes. In this case, it is able to use any data node as a transaction coordinator and to read and update node data.
      You can see in the mysql client whether a MySQL
      server is connected to the cluster using SHOW
      PROCESSLIST. If the MySQL server is connected to the
      cluster, and you have the PROCESS
      privilege, then the first row of the output is as shown here:
    
mysql> SHOW PROCESSLIST \G
*************************** 1. row ***************************
     Id: 1
   User: system user
   Host:
     db:
Command: Daemon
   Time: 1
  State: Waiting for event from ndbcluster
   Info: NULL
        To participate in an NDB Cluster, the mysqld
        process must be started with both the
        options --ndbcluster and
        --ndb-connectstring (or their
        equivalents in my.cnf). If
        mysqld is started with only the
        --ndbcluster option, or if it is
        unable to contact the cluster, it is not possible to work with
        NDB tables, nor is it
        possible to create any new tables regardless of storage
        engine. The latter restriction is a safety measure
        intended to prevent the creation of tables having the same names
        as NDB tables while the SQL node is
        not connected to the cluster. If you wish to create tables using
        a different storage engine while the mysqld
        process is not participating in an NDB Cluster, you must restart
        the server without the
        --ndbcluster option.