- MySQL 5.1 Reference Manual :: 17 MySQL Cluster NDB 6.X/7.X
-
- MySQL 5.1 Reference Manual
- Preface, Notes, Licenses
- 1 General Information
- 2 Installing and Upgrading MySQL
- 3 Tutorial
- 4 MySQL Programs
- 5 MySQL Server Administration
- 6 Backup and Recovery
- 7 Optimization
- 8 Language Structure
- 9 Internationalization and Localization
- 10 Data Types
- 11 Functions and Operators
- 12 SQL Statement Syntax
- 13 Storage Engines
- 14 High Availability and Scalability
- 15 MySQL Enterprise Monitor
- 16 Replication
- 17 MySQL Cluster NDB 6.X/7.X
- 18 Partitioning
- 19 Stored Programs and Views
- 20 INFORMATION_SCHEMA Tables
- 21 Connectors and APIs
- 22 Extending MySQL
- A MySQL 5.1 Frequently Asked Questions
- B Errors, Error Codes, and Common Problems
- C MySQL Change History
- D Restrictions and Limits
- Index
- Standard Index
- C Function Index
- Command Index
- Function Index
- INFORMATION_SCHEMA Index
- Transaction Isolation Level Index
- JOIN Types Index
- Operator Index
- Option Index
- Privileges Index
- SQL Modes Index
- Status Variable Index
- Statement/Syntax Index
- System Variable Index
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. Current releases of MySQL Cluster use versions 6 and 7 of the
NDBCLUSTER
storage engine (also known asNDB
) to enable running several computers with MySQL servers and other software in a cluster.Beginning with MySQL 5.1.24, support for the
NDBCLUSTER
storage engine was removed from the standard MySQL server binaries built by MySQL. Instead, users of MySQL Cluster binaries built by MySQL should upgrade to the most recent binary release of MySQL Cluster NDB 7.0 or MySQL Cluster 7.1 for supported platforms—these include RPMs that should work with most Linux distributions. MySQL Cluster users who build from source should be aware that, also beginning with MySQL 5.1.24,NDBCLUSTER
sources in the standard MySQL 5.1 tree are no longer maintained; these users should use the sources provided for MySQL Cluster NDB 7.0 or later. (Locations where the sources can be obtained are listed later in this section.)Note
MySQL Cluster NDB 6.1, 6.2, and 6.3 were formerly known as “MySQL Cluster Carrier Grade Edition”. Beginning with MySQL Cluster NDB 6.2.15 and MySQL Cluster NDB 6.3.14, this term is no longer applied to the MySQL Cluster software—which is now known simply as “MySQL Cluster”—but rather to a commercial licensing and support package. You can learn more about available options for commercial licensing of MySQL Cluster from MySQL Cluster Features, on the MySQL web site.
This chapter contains information about MySQL Cluster in MySQL 5.1 mainline releases through MySQL 5.1.23, MySQL Cluster NDB 6.2 releases through 5.1.44-ndb-6.2.19, MySQL Cluster NDB 6.3 releases through 5.1.44-ndb-6.3.35, MySQL Cluster NDB 7.0 releases through 5.1.44-ndb-7.0.16 and MySQL Cluster NDB 7.1 releases through 5.1.44-ndb-7.1.5. Currently, the MySQL Cluster NDB 7.0 (formerly known as “MySQL Cluster NDB 6.4”) and MySQL Cluster NDB 7.1 release series are Generally Available (GA). MySQL Cluster NDB 6.2 and MySQL Cluster NDB 6.3 are previous GA release series; although these are still supported, we recommend that new deployments use MySQL Cluster NDB 7.0 or MySQL Cluster NDB 7.1.
This chapter also contains historical information about MySQL Cluster NDB 6.1, although this release series is no longer in active development, and no longer supported for new deployments. You should upgrade to MySQL Cluster 6.3 or a MySQL Cluster NDB 7.x release series as soon as possible.
Platforms supported. MySQL Cluster is currently available and supported on a number of platforms, including Linux, Solaris, Mac OS X, and other Unix-style operating systems on a variety of hardware. Beginning with MySQL Cluster NDB 7.1.3, MySQL Cluster is also available for production use on Microsoft Windows platforms. For exact levels of support available for MySQL Cluster on specific combinations of operating system versions, operating system distributions, and hardware platforms, please refer to
http://www.mysql.com/support/supportedplatforms/cluster.html
, maintained by the MySQL Support Team on the MySQL web site.Availability. MySQL Cluster NDB 6.3, MySQL Cluster NDB 7.0, and MySQL Cluster NDB 7.1 binary and source packages are available for supported platforms from http://dev.mysql.com/downloads/cluster/.
Note
Binary releases and RPMs were not available for MySQL Cluster NDB 6.2 prior to MySQL Cluster NDB 6.2.15.
MySQL Cluster release numbers. Starting with MySQL Cluster NDB 6.1 and MySQL Cluster NDB 6.2, MySQL Cluster follows a somewhat different release pattern from the mainline MySQL 5.1 Cluster 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
NDBCLUSTER
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 NDB 6.x and 7.x software. The version string displayed by MySQL Cluster NDB 6.x and 7.x software uses this format:
mysql-
mysql_server_version
-ndb-ndbcluster_engine_version
mysql_server_version
represents the version of the MySQL Server on which the MySQL Cluster release is based. For all MySQL Cluster NDB 6.x and 7.x releases, this is “5.1”.ndbcluster_engine_version
is the version of theNDBCLUSTER
storage engine used by this release of the MySQL 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.1.44-ndb-7.1.5 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>SELECT VERSION()\G
*************************** 1. row *************************** VERSION(): 5.1.44-ndb-7.1.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 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.1.44-ndb-7.1.5, Nodegroup: 0, Master) id=2 @10.0.10.8 (5.1.44-ndb-7.1.5, Nodegroup: 0) [ndb_mgmd(MGM)] 1 node(s) id=3 @10.0.10.2 (5.1.44-ndb-7.1.5) [mysqld(API)] 2 node(s) id=4 @10.0.10.10 (5.1.44-ndb-7.1.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
NDBCLUSTER
storage engine used. For example, the full version string for MySQL Cluster NDB 7.0.5 (the first GA MySQL Cluster NDB 7.0 binary release) wasmysql-5.1.32-ndb-7.0.5
. 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.0.5 derives from the MySQL 5.1.32, and contains all feature enhancements and bugfixes from MySQL 5.1 up to and including MySQL 5.1.32.Since the portion of the version string following “
-ndb-
” represents the version number of theNDB
(orNDBCLUSTER
) storage engine, MySQL Cluster NDB 7.0.5 uses version 7.0.5 of theNDBCLUSTER
storage engine.
New MySQL Cluster releases are numbered according to updates in the
NDB
storage engine, and do not necessarily correspond in a linear fashion with mainline MySQL Server releases. For example, MySQL Cluster NDB 7.0.5 (as previously noted) is based on MySQL 5.1.32, and MySQL Cluster NDB 7.0.6 is based on MySQL 5.1.34 (version string:mysql-5.1.34-ndb-7.0.6
).Compatibility with standard MySQL 5.1 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 17.1.5, “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,
MyISAM
orInnoDB
—to use theNDB
storage engine without allowing for the possibility of changes in schemas, queries, and applications. Moreover, from MySQL 5.1.24 onwards, the MySQL Server and MySQL Cluster codebases diverge considerably (andNDB
storage engine support dropped from subsequent MySQL Server releases), so that the standard mysqld cannot function as a dropin replacement for the version of mysqld that is supplied with MySQL Cluster.MySQL Cluster development source trees. MySQL Cluster development trees can also be accessed via https://code.launchpad.net/~mysql/:
MySQL Cluster NDB 6.1
(OBSOLETE—no longer maintained)MySQL Cluster NDB 6.2
(PAST CURRENT; continues to be maintained)MySQL Cluster NDB 6.3
(CURRENT)MySQL Cluster NDB 7.0
(CURRENT)
The MySQL Cluster development sources maintained at https://code.launchpad.net/~mysql/ are licensed under the GPL. For information about obtaining MySQL sources using Bazaar and building them yourself, see Section 2.3.3, “Installing from the Development Source Tree”.
Currently, MySQL Cluster NDB 6.2, MySQL Cluster NDB 6.3, and MySQL Cluster NDB 7.0 releases are all Generally Available (GA), although we recommend that new deployments use MySQL Cluster 6.3 or MySQL Cluster 7.0. MySQL Cluster NDB 7.1 is in early development; we intend to make the source tree for this release series available in the near future. MySQL Cluster NDB 6.1 is no longer in active development. For an overview of major features added in MySQL Cluster NDB 6.x and 7.x, see Section 17.1.4, “MySQL Cluster Development History”.
This chapter represents a work in progress, and its contents 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 may be found in the following places:
Answers to some commonly asked questions about Cluster may be found in the Section A.10, “MySQL 5.1 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 some of the MySQL Cluster developers blog about their experiences with Cluster, and make feeds of these available through PlanetMySQL.
If you are new to MySQL Cluster, you may find our Developer Zone article How to set up a MySQL Cluster for two servers to be helpful.