Table of Contents [+/-]
This chapter contains information about
MySQL Cluster, which is a
high-availability, high-redundancy version of MySQL adapted for the
distributed computing environment. Recent MySQL Cluster release
series use version 7 of the
engine (also known as
enable running several computers with MySQL servers and other
software in a cluster. MySQL Cluster NDB 7.5, now available as a
General Availability (GA) release beginning with version 7.5.4,
incorporates version 7.5 of the
engine. Previous GA releases still available for production, MySQL
Cluster NDB 7.3 and MySQL Cluster NDB 7.4, incorporate
NDB versions 7.3 and 7.4, respectively.
Support for the
NDB storage engine is
not included in standard MySQL Server 5.7 binaries built by Oracle.
Instead, users of MySQL Cluster binaries from Oracle should upgrade
to the most recent binary release of MySQL Cluster for supported
platforms—these include RPMs that should work with most Linux
distributions. MySQL Cluster users who build from source should use
the sources provided for MySQL Cluster. (Locations where the sources
can be obtained are listed later in this section.)
This chapter contains information about MySQL Cluster NDB 7.5 releases through 5.7.16-ndb-7.5.5. MySQL Cluster NDB 7.5 is available as a General Availability release, and recommended for new deployments. The MySQL Cluster NDB 7.4 and MySQL Cluster NDB 7.3 release series are previous GA releases still supported in production. MySQL Cluster NDB 7.2 is a previous GA release series which is still available. We currently recommend that new deployments for production use MySQL Cluster NDB 7.4. For more information about MySQL Cluster NDB 7.4 and MySQL Cluster NDB 7.3, see MySQL Cluster NDB 7.3 and MySQL Cluster NDB 7.4. For information about MySQL Cluster NDB 7.2, see MySQL Cluster NDB 7.2.
Supported Platforms. MySQL 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 http://www.mysql.com/support/supportedplatforms/cluster.html.
Availability. MySQL Cluster binary and source packages are available for supported platforms from http://dev.mysql.com/downloads/cluster/.
MySQL Cluster release numbers.
MySQL 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 MySQL Cluster releases employing a
version number that begins with “NDB”. This version
number is that of the
storage engine used in the release, and not of the MySQL server
version on which the MySQL Cluster release is based.
Version strings used in MySQL Cluster software. The version string displayed by MySQL Cluster programs uses this format:
mysql_server_version represents the
version of the MySQL Server on which the MySQL Cluster release is
based. For all MySQL Cluster NDB 7.5 releases, this is
the version of the
NDB storage engine
used by this release of the MySQL Cluster software. You can see this
format used in the mysql client, as shown here:
mysqlWelcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.16-ndb-7.5.5 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
SELECT VERSION()\G*************************** 1. row *************************** VERSION(): 5.7.16-ndb-7.5.5 1 row in set (0.00 sec)
This version string is also displayed in the output of the
SHOW command in the ndb_mgm
SHOWConnected to Management Server at: localhost:1186 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=1 @10.0.10.6 (5.7.16-ndb-7.5.5, Nodegroup: 0, *) id=2 @10.0.10.8 (5.7.16-ndb-7.5.5, Nodegroup: 0) [ndb_mgmd(MGM)] 1 node(s) id=3 @10.0.10.2 (5.7.16-ndb-7.5.5) [mysqld(API)] 2 node(s) id=4 @10.0.10.10 (5.7.16-ndb-7.5.5) id=5 (not connected, accepting connect from any host)
The version string identifies the mainline MySQL version from which
the MySQL Cluster release was branched and the version of the
NDB storage engine used. For example,
the full version string for MySQL Cluster NDB 7.4.4 (the first MySQL
Cluster NDB 7.4 GA release) was
mysql-5.6.23-ndb-7.4.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 MySQL Cluster NDB 7.4.4 derived from MySQL 5.6.23, and contained all feature enhancements and bug fixes from MySQL 5.6 up to and including MySQL 5.6.23.
Since the portion of the version string following
-ndb-represents the version number of the
NDBCLUSTER) storage engine, MySQL Cluster NDB 7.4.4 used version 7.4.4 of the
New MySQL 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, MySQL Cluster NDB 7.4.4 (as previously noted)
was based on MySQL 5.6.23, while MySQL Cluster NDB 7.4.3 was based
on MySQL 5.6.22 (version string:
Compatibility with standard MySQL 5.7 releases.
While many standard MySQL schemas and applications can work using
MySQL Cluster, it is also true that unmodified applications and
database schemas may be slightly incompatible or have suboptimal
performance when run using MySQL Cluster (see
Section 19.1.6, “Known Limitations of MySQL 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,
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 MySQL Cluster
codebases diverge considerably, so that the standard
mysqld cannot function as a drop-in replacement
for the version of mysqld supplied with MySQL
MySQL Cluster development source trees. MySQL Cluster development trees can also be accessed from https://github.com/mysql/mysql-server.
The MySQL Cluster development sources maintained at https://github.com/mysql/mysql-server are licensed under the GPL. For information about obtaining MySQL sources using Bazaar and building them yourself, see Section 2.9.3, “Installing MySQL Using a Development Source Tree”.
As with MySQL Server 5.7, MySQL Cluster NDB 7.5 releases are built using CMake.
Currently, MySQL Cluster NDB 7.3 and MySQL Cluster NDB 7.4 releases are Generally Available (GA). We recommend that new deployments use MySQL Cluster NDB 7.4. MySQL Cluster NDB 7.1 and earlier versions are no longer in active development. For an overview of major features added in MySQL Cluster NDB 7.4, see What is New in MySQL Cluster NDB 7.4. For similar information about MySQL Cluster NDB 7.3, see What is New in MySQL Cluster NDB 7.3. For an overview of major features added in previous MySQL Cluster releases, see What is New in MySQL Cluster in MySQL Cluster NDB 7.2.
The contents of this chapter are subject to revision as MySQL Cluster continues to evolve. Additional information regarding MySQL Cluster can be found on the MySQL Web site at http://www.mysql.com/products/cluster/.
Additional Resources. More information about MySQL Cluster can be found in the following places:
For answers to some commonly asked questions about MySQL Cluster, see Section A.10, “MySQL 5.7 FAQ: MySQL Cluster”.
The MySQL Cluster mailing list: http://lists.mysql.com/cluster.
The MySQL Cluster Forum: http://forums.mysql.com/list.php?25.
Many MySQL Cluster users and developers blog about their experiences with MySQL Cluster, and make feeds of these available through PlanetMySQL.