MySQL 5.7 Reference Manual Including MySQL NDB Cluster 7.5 and NDB Cluster 7.6
This section provides information about compiling NDB Cluster on Linux and other Unix-like platforms. Building NDB Cluster from source is similar to building the standard MySQL Server, although it differs in a few key respects discussed here. For general information about building MySQL from source, see Section 2.8, “Installing MySQL from Source”. For information about compiling NDB Cluster on Windows platforms, see Section 21.3.2.2, “Compiling and Installing NDB Cluster from Source on Windows”.
        Building NDB Cluster requires using the NDB Cluster sources.
        These are available from the NDB Cluster downloads page at
        https://dev.mysql.com/downloads/cluster/. The archived source
        file should have a name similar to
        mysql-cluster-gpl-7.6.35.tar.gz.
        You can also obtain NDB Cluster sources from GitHub at
        https://github.com/mysql/mysql-server/tree/cluster-7.5
        (NDB 7.5) and
        https://github.com/mysql/mysql-server/tree/cluster-7.6
        (NDB 7.6). Building NDB Cluster 7.5 or 7.6 from
        standard MySQL Server 5.7 sources is not
        supported.
      
        The WITH_NDBCLUSTER_STORAGE_ENGINE
        option for CMake causes the binaries for the
        management nodes, data nodes, and other NDB Cluster programs to
        be built; it also causes mysqld to be
        compiled with NDB storage engine
        support. This option (or its alias
        WITH_NDBCLUSTER) is required when
        building NDB Cluster.
      
          The WITH_NDB_JAVA option is
          enabled by default. This means that, by default, if
          CMake cannot find the location of Java on
          your system, the configuration process fails; if you do not
          wish to enable Java and ClusterJ support, you must indicate
          this explicitly by configuring the build using
          -DWITH_NDB_JAVA=OFF. Use
          WITH_CLASSPATH to provide the
          Java classpath if needed.
        
For more information about CMake options specific to building NDB Cluster, see CMake Options for Compiling NDB Cluster.
After you have run make && make install (or your system's equivalent), the result is similar to what is obtained by unpacking a precompiled binary to the same location.
Management nodes. 
          When building from source and running the default
          make install, the management server and
          management client binaries (ndb_mgmd and
          ndb_mgm) can be found in
          /usr/local/mysql/bin. Only
          ndb_mgmd is required to be present on a
          management node host; however, it is also a good idea to have
          ndb_mgm present on the same host machine.
          Neither of these executables requires a specific location on
          the host machine's file system.
        
Data nodes. 
          The only executable required on a data node host is the data
          node binary ndbd or
          ndbmtd. (mysqld, for
          example, does not have to be present on the host machine.) By
          default, when building from source, this file is placed in the
          directory /usr/local/mysql/bin. For
          installing on multiple data node hosts, only
          ndbd or ndbmtd need be
          copied to the other host machine or machines. (This assumes
          that all data node hosts use the same architecture and
          operating system; otherwise you may need to compile separately
          for each different platform.) The data node binary need not be
          in any particular location on the host's file system, as long
          as the location is known.
        
        When compiling NDB Cluster from source, no special options are
        required for building multithreaded data node binaries.
        Configuring the build with NDB
        storage engine support causes ndbmtd to be
        built automatically; make install places the
        ndbmtd binary in the installation
        bin directory along with
        mysqld, ndbd, and
        ndb_mgm.
      
SQL nodes. 
          If you compile MySQL with clustering support, and perform the
          default installation (using make install as
          the system root user),
          mysqld is placed in
          /usr/local/mysql/bin. Follow the steps
          given in Section 2.8, “Installing MySQL from Source” to make
          mysqld ready for use. If you want to run
          multiple SQL nodes, you can use a copy of the same
          mysqld executable and its associated
          support files on several machines. The easiest way to do this
          is to copy the entire /usr/local/mysql
          directory and all directories and files contained within it to
          the other SQL node host or hosts, then repeat the steps from
          Section 2.8, “Installing MySQL from Source” on each machine. If you
          configure the build with a nondefault PREFIX
          option, you must adjust the directory accordingly.
        
In Section 21.3.3, “Initial Configuration of NDB Cluster”, we create configuration files for all of the nodes in our example NDB Cluster.