Table of Contents
MySQL NDB Cluster is a high-availability, high-redundancy version of MySQL adapted for the distributed computing environment. Recent NDB Cluster release series use version 7 of the NDB storage engine (also known as NDBCLUSTER) to enable running several computers with MySQL servers and other software in a cluster. NDB Cluster 7.6, now available as a General Availability (GA) release beginning with version 7.6.6, incorporates version 7.6 of the
NDB storage engine. NDB Cluster 7.5, still available as a GA release, uses version 7.5 of
NDB . Previous GA releases still available for use in production, NDB Cluster 7.3 and NDB Cluster 7.4, incorporate
NDB versions 7.3 and 7.4, respectively. NDB Cluster 7.2, which uses version 7.2 of the
NDB storage engine, is a previous GA release that is currently still maintained; 7.2 users are encouraged to upgrade to NDB 7.5 or NDB 7.6.
Support for the NDB storage engine is not included in standard MySQL Server 5.7 binaries built by Oracle. Instead, users of NDB Cluster binaries from Oracle should upgrade to the most recent binary release of NDB Cluster for supported platforms—these include RPMs that should work with most Linux distributions. NDB Cluster users who build from source should use the sources provided for NDB Cluster. (Locations where the sources can be obtained are listed later in this section.)
MySQL NDB Cluster does not support InnoDB cluster, which must be deployed using MySQL Server 5.7 with the InnoDB storage engine as well as additional applications that are not included in the NDB Cluster distribution. MySQL Server 5.7 binaries cannot be used with MySQL NDB Cluster. For more information about deploying and using InnoDB cluster, see Chapter 20, InnoDB Cluster. Section 21.1.6, “MySQL Server Using InnoDB Compared with NDB Cluster”, discusses differences between the
This chapter contains information about NDB Cluster 7.5 releases through 5.7.28-ndb-7.5.16 and NDB Cluster 7.6 releases through 5.7.28-ndb-7.6.12, both of which are now General Availability (GA) releases supported in production. NDB Cluster 7.6 recommended for new deployments; for information about NDB Cluster 7.6, see Section 188.8.131.52, “What is New in NDB Cluster 7.6”. For similar information about NDB Cluster 7.5, see Section 184.108.40.206, “What is New in NDB Cluster 7.5”. NDB Cluster 7.4 and 7.3 are previous GA releases still supported in production; see MySQL NDB Cluster 7.3 and NDB Cluster 7.4. NDB Cluster 7.2 is a previous GA release series which is still maintained, although we recommend that new deployments for production use NDB Cluster 7.6. For more information about NDB Cluster 7.2, see MySQL NDB Cluster 7.2.
NDB Cluster 8.0 is now available as a Developer Preview release for evaluation and testing of new features in the
NDBCLUSTER storage engine; for more information, see MySQL NDB Cluster 8.0.
Supported Platforms. NDB Cluster is currently available and supported on a number of platforms. For exact levels of support available for on specific combinations of operating system versions, operating system distributions, and hardware platforms, please refer to https://www.mysql.com/support/supportedplatforms/cluster.html.
Availability. NDB Cluster binary and source packages are available for supported platforms from https://dev.mysql.com/downloads/cluster/.
NDB Cluster release numbers. NDB Cluster follows a somewhat different release pattern from the mainline MySQL Server 5.7 series of releases. In this Manual and other MySQL documentation, we identify these and later NDB Cluster releases employing a version number that begins with “NDB”. This version number is that of the NDBCLUSTER storage engine used in the release, and not of the MySQL server version on which the NDB Cluster release is based.
mysql_server_version represents the version of the MySQL Server on which the NDB Cluster release is based. For all NDB Cluster 7.5 and NDB Cluster 7.6 releases, this is “5.7”.
ndb_engine_version is the version of the NDB storage engine used by this release of the NDB Cluster software. You can see this format used in the mysql client, as shown here:
shell> mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.28-ndb-7.5.16 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> SELECT VERSION()\G *************************** 1. row *************************** VERSION(): 5.7.28-ndb-7.5.16 1 row in set (0.00 sec)
This version string is also displayed in the output of the
SHOW command in the ndb_mgm client:
ndb_mgm> SHOW Connected to Management Server at: localhost:1186 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=1 @10.0.10.6 (5.7.28-ndb-7.5.16, Nodegroup: 0, *) id=2 @10.0.10.8 (5.7.28-ndb-7.5.16, Nodegroup: 0) [ndb_mgmd(MGM)] 1 node(s) id=3 @10.0.10.2 (5.7.28-ndb-7.5.16) [mysqld(API)] 2 node(s) id=4 @10.0.10.10 (5.7.28-ndb-7.5.16) id=5 (not connected, accepting connect from any host)
The version string identifies the mainline MySQL version from which the NDB Cluster release was branched and the version of the NDB storage engine used. For example, the full version string for NDB 7.5.4 (the first NDB 7.5 GA release) was
mysql-5.7.16-ndb-7.5.4 . From this we can determine the following:
Since the portion of the version string preceding
-ndb-is the base MySQL Server version, this means that NDB 7.5.4 derived from MySQL 5.7.16, and contained all feature enhancements and bug fixes from MySQL 5.7 up to and including MySQL 5.7.16.
New NDB Cluster releases are numbered according to updates in the
NDB storage engine, and do not necessarily correspond in a one-to-one fashion with mainline MySQL Server releases. For example, NDB 7.5.4 (as previously noted) was based on MySQL 5.7.16, while NDB 7.5.3 was based on MySQL 5.7.13 (version string:
Compatibility with standard MySQL 5.7 releases. While many standard MySQL schemas and applications can work using NDB Cluster, it is also true that unmodified applications and database schemas may be slightly incompatible or have suboptimal performance when run using NDB Cluster (see Section 21.1.7, “Known Limitations of NDB Cluster”). Most of these issues can be overcome, but this also means that you are very unlikely to be able to switch an existing application datastore—that currently uses, for example, MyISAM or InnoDB—to use the NDB storage engine without allowing for the possibility of changes in schemas, queries, and applications. In addition, the MySQL Server and NDB Cluster codebases diverge considerably, so that the standard mysqld cannot function as a drop-in replacement for the version of mysqld supplied with NDB Cluster.
NDB Cluster development source trees. NDB Cluster development trees can also be accessed from https://github.com/mysql/mysql-server.
The NDB Cluster development sources maintained at https://github.com/mysql/mysql-server are licensed under the GPL. For information about obtaining MySQL sources using Git and building them yourself, see Section 2.9.5, “Installing MySQL Using a Development Source Tree”.
As with MySQL Server 5.7, NDB Cluster 7.5 and NDB Cluster 7.6 releases are built using CMake .
NDB Cluster 7.5 and NDB Cluster 7.6 are available as General Availability (GA) releases; NDB 7.6 is recommended for new deployments. NDB Cluster 7.4 and NDB Cluster 7.3 are previous GA releases which are still supported in production. NDB 7.2 is a previous GA release series which is still maintained; it is no longer recommended for new deployments. For an overview of major features added in NDB 7.6, see Section 220.127.116.11, “What is New in NDB Cluster 7.6”. For similar information about NDB Cluster 7.5, see Section 18.104.22.168, “What is New in NDB Cluster 7.5”. For information about previous NDB Cluster releases, see MySQL NDB Cluster 7.3 and NDB Cluster 7.4, and MySQL NDB Cluster 7.2.
The contents of this chapter are subject to revision as NDB Cluster continues to evolve. Additional information regarding NDB Cluster can be found on the MySQL website at http://www.mysql.com/products/cluster/.
Additional Resources. More information about NDB Cluster can be found in the following places:
For answers to some commonly asked questions about NDB Cluster, see Section A.10, “MySQL 5.7 FAQ: NDB Cluster”.
The NDB Cluster Forum: https://forums.mysql.com/list.php?25.
Many NDB Cluster users and developers blog about their experiences with NDB Cluster, and make feeds of these available through PlanetMySQL.