Documentation Home
MySQL 5.6 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 31.2Mb
PDF (A4) - 31.2Mb
PDF (RPM) - 29.5Mb
HTML Download (TGZ) - 7.3Mb
HTML Download (Zip) - 7.3Mb
HTML Download (RPM) - 6.2Mb
Man Pages (TGZ) - 179.9Kb
Man Pages (Zip) - 290.1Kb
Info (Gzip) - 3.0Mb
Info (Zip) - 3.0Mb
Excerpts from this Manual

MySQL 5.6 Reference Manual  /  MySQL NDB Cluster 7.3 and NDB Cluster 7.4

Chapter 18 MySQL NDB Cluster 7.3 and NDB Cluster 7.4

Table of Contents

18.1 NDB Cluster Overview
18.1.1 NDB Cluster Core Concepts
18.1.2 NDB Cluster Nodes, Node Groups, Replicas, and Partitions
18.1.3 NDB Cluster Hardware, Software, and Networking Requirements
18.1.4 What is New in MySQL NDB Cluster
18.1.5 NDB: Added, Deprecated, and Removed Options, Variables, and Parameters
18.1.6 MySQL Server Using InnoDB Compared with NDB Cluster
18.1.7 Known Limitations of NDB Cluster
18.2 NDB Cluster Installation
18.2.1 The NDB Cluster Auto-Installer
18.2.2 Installation of NDB Cluster on Linux
18.2.3 Installing NDB Cluster on Windows
18.2.4 Initial Configuration of NDB Cluster
18.2.5 Initial Startup of NDB Cluster
18.2.6 NDB Cluster Example with Tables and Data
18.2.7 Safe Shutdown and Restart of NDB Cluster
18.2.8 Upgrading and Downgrading NDB Cluster
18.3 Configuration of NDB Cluster
18.3.1 Quick Test Setup of NDB Cluster
18.3.2 Overview of NDB Cluster Configuration Parameters, Options, and Variables
18.3.3 NDB Cluster Configuration Files
18.3.4 Using High-Speed Interconnects with NDB Cluster
18.4 NDB Cluster Programs
18.4.1 ndbd — The NDB Cluster Data Node Daemon
18.4.2 ndbinfo_select_all — Select From ndbinfo Tables
18.4.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)
18.4.4 ndb_mgmd — The NDB Cluster Management Server Daemon
18.4.5 ndb_mgm — The NDB Cluster Management Client
18.4.6 ndb_blob_tool — Check and Repair BLOB and TEXT columns of NDB Cluster Tables
18.4.7 ndb_config — Extract NDB Cluster Configuration Information
18.4.8 ndb_cpcd — Automate Testing for NDB Development
18.4.9 ndb_delete_all — Delete All Rows from an NDB Table
18.4.10 ndb_desc — Describe NDB Tables
18.4.11 ndb_drop_index — Drop Index from an NDB Table
18.4.12 ndb_drop_table — Drop an NDB Table
18.4.13 ndb_error_reporter — NDB Error-Reporting Utility
18.4.14 ndb_index_stat — NDB Index Statistics Utility
18.4.15 ndb_move_data — NDB Data Copy Utility
18.4.16 ndb_print_backup_file — Print NDB Backup File Contents
18.4.17 ndb_print_file — Print NDB Disk Data File Contents
18.4.18 ndb_print_frag_file — Print NDB Fragment List File Contents
18.4.19 ndb_print_schema_file — Print NDB Schema File Contents
18.4.20 ndb_print_sys_file — Print NDB System File Contents
18.4.21 ndb_redo_log_reader — Check and Print Content of Cluster Redo Log
18.4.22 ndb_restore — Restore an NDB Cluster Backup
18.4.23 ndb_select_all — Print Rows from an NDB Table
18.4.24 ndb_select_count — Print Row Counts for NDB Tables
18.4.25 ndb_setup.py — Start browser-based Auto-Installer for NDB Cluster
18.4.26 ndb_show_tables — Display List of NDB Tables
18.4.27 ndb_size.pl — NDBCLUSTER Size Requirement Estimator
18.4.28 ndb_waiter — Wait for NDB Cluster to Reach a Given Status
18.4.29 Options Common to NDB Cluster Programs — Options Common to NDB Cluster Programs
18.5 Management of NDB Cluster
18.5.1 Summary of NDB Cluster Start Phases
18.5.2 Commands in the NDB Cluster Management Client
18.5.3 Online Backup of NDB Cluster
18.5.4 MySQL Server Usage for NDB Cluster
18.5.5 Performing a Rolling Restart of an NDB Cluster
18.5.6 Event Reports Generated in NDB Cluster
18.5.7 NDB Cluster Log Messages
18.5.8 NDB Cluster Single User Mode
18.5.9 Quick Reference: NDB Cluster SQL Statements
18.5.10 ndbinfo: The NDB Cluster Information Database
18.5.11 NDB Cluster Security Issues
18.5.12 NDB Cluster Disk Data Tables
18.5.13 Online Operations with ALTER TABLE in NDB Cluster
18.5.14 Adding NDB Cluster Data Nodes Online
18.5.15 Distributed Privileges Using Shared Grant Tables
18.5.16 NDB API Statistics Counters and Variables
18.6 NDB Cluster Replication
18.6.1 NDB Cluster Replication: Abbreviations and Symbols
18.6.2 General Requirements for NDB Cluster Replication
18.6.3 Known Issues in NDB Cluster Replication
18.6.4 NDB Cluster Replication Schema and Tables
18.6.5 Preparing the NDB Cluster for Replication
18.6.6 Starting NDB Cluster Replication (Single Replication Channel)
18.6.7 Using Two Replication Channels for NDB Cluster Replication
18.6.8 Implementing Failover with NDB Cluster Replication
18.6.9 NDB Cluster Backups With NDB Cluster Replication
18.6.10 NDB Cluster Replication: Multi-Master and Circular Replication
18.6.11 NDB Cluster Replication Conflict Resolution
18.7 NDB Cluster Release Notes

MySQL NDB Cluster is a high-availability, high-redundancy version of MySQL adapted for the distributed computing environment. The most recent NDB Cluster release series uses version 8 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 8.0, now available as a General Availability (GA) release beginning with version 8.0.19, incorporates version 8.0 of the NDB storage engine. NDB Cluster 7.6 and NDB Cluster 7.5, still available as GA releases, use versions 7.6 and 7.5 of NDB, respectively. Previous GA releases still available for use in production, NDB Cluster 7.4 and NDB Cluster 7.3, incorporate NDB versions 7.4 and 7.3, respectively. NDB Cluster 7.2, which uses version 7.2 of the NDB storage engine, is a past GA release that is no longer supported for new deployments; legacy NDB 7.2 users are encouraged to upgrade to NDB 7.6 or NDB 8.0. NDB 7.1 and older release series are no longer supported or maintained.

Support for the NDB storage engine is not included in standard MySQL Server 5.6 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.)

This chapter contains information about NDB Cluster 7.3 releases through 5.6.47-ndb-7.3.28 as well as NDB Cluster 7.4 releases through 5.6.47-ndb-7.4.27. NDB Cluster 8.0 is now available as a General Availability release, and recommended for new deployments; for information about NDB Cluster 8.0, see What is New in NDB Cluster. NDB Cluster 7.6, 7.5, 7.4, and 7.3 are previous GA releases still supported in production. For similar information about NDB Cluster 7.6 and 7.5, see What is New in NDB Cluster.

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.6 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.

Version strings used in NDB Cluster software.  The version string displayed by NDB Cluster programs uses this format:

mysql-mysql_server_version-ndb-ndb_engine_version

mysql_server_version represents the version of the MySQL Server on which the NDB Cluster release is based. For all NDB Cluster 7.3 and current NDB Cluster 7.4 releases, this is 5.6. 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.6.47-ndb-7.4.27 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> SELECT VERSION()\G
*************************** 1. row ***************************
VERSION(): 5.6.47-ndb-7.4.27
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.6.47-ndb-7.4.27, Nodegroup: 0, *)
id=2    @10.0.10.8  (5.6.47-ndb-7.4.27, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=3    @10.0.10.2  (5.6.47-ndb-7.4.27)

[mysqld(API)]   2 node(s)
id=4    @10.0.10.10  (5.6.47-ndb-7.4.27)
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.4.4 (the first NDB Cluster 7.4 GA release) is 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 NDB 7.4.4 derives from MySQL 5.6.23, and contains 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 NDB (or NDBCLUSTER) storage engine, NDB 7.4.4 uses version 7.4.4 of the NDBCLUSTER storage engine.

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.4.4 (as previously noted) is based on MySQL 5.6.23, while NDB 7.4.3 was based on MySQL 5.6.22 (version string: mysql-5.6.22-ndb-7.4.3).

Compatibility with standard MySQL 5.6 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 18.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”.

Note

As with MySQL Server 5.6, NDB Cluster 7.3 and NDB Cluster 7.4 releases are built using CMake.

NDB Cluster 8.0 is available beginning with NDB 8.0.19 as a General Availability release, and is recommended for new deployments; see What is New in NDB Cluster, for more information. NDB Cluster 7.6 and 7.5 are previous GA releases still supported in production; for information about NDB Cluster 7.6, see What is New in NDB Cluster 7.6. For similar information about NDB Cluster 7.5, see What is New in NDB Cluster 7.5. NDB Cluster 7.4 and 7.3 are previous GA releases still supported in production, although we recommend that new deployments for production use NDB Cluster 8.0.

This chapter represents a work in progress, and its contents 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: