Chapter 17 MySQL Cluster

Table of Contents

17.1 MySQL Cluster Overview
17.1.1 MySQL Cluster Core Concepts
17.1.2 MySQL Cluster Nodes, Node Groups, Replicas, and Partitions
17.1.3 MySQL Cluster Hardware, Software, and Networking Requirements
17.1.4 MySQL Cluster Development History
17.1.5 Known Limitations of MySQL Cluster
17.2 MySQL Cluster Installation and Upgrades
17.2.1 Installing MySQL Cluster on Linux
17.2.2 Initial Configuration of MySQL Cluster
17.2.3 Initial Startup of MySQL Cluster
17.2.4 MySQL Cluster Example with Tables and Data
17.2.5 Safe Shutdown and Restart of MySQL Cluster
17.2.6 Upgrading and Downgrading MySQL Cluster
17.3 MySQL Cluster Configuration
17.3.1 Quick Test Setup of MySQL Cluster
17.3.2 MySQL Cluster Configuration Files
17.3.3 Overview of MySQL Cluster Configuration Parameters
17.3.4 MySQL Server Options and Variables for MySQL Cluster
17.3.5 Using High-Speed Interconnects with MySQL Cluster
17.4 MySQL Cluster Programs
17.4.1 ndbd — The MySQL Cluster Data Node Daemon
17.4.2 ndb_mgmd — The MySQL Cluster Management Server Daemon
17.4.3 ndb_mgm — The MySQL Cluster Management Client
17.4.4 ndb_config — Extract MySQL Cluster Configuration Information
17.4.5 ndb_cpcd — Automate Testing for NDB Development
17.4.6 ndb_delete_all — Delete All Rows from an NDB Table
17.4.7 ndb_desc — Describe NDB Tables
17.4.8 ndb_drop_index — Drop Index from an NDB Table
17.4.9 ndb_drop_table — Drop an NDB Table
17.4.10 ndb_error_reporter — NDB Error-Reporting Utility
17.4.11 ndb_print_backup_file — Print NDB Backup File Contents
17.4.12 ndb_print_schema_file — Print NDB Schema File Contents
17.4.13 ndb_print_sys_file — Print NDB System File Contents
17.4.14 ndb_restore — Restore a MySQL Cluster Backup
17.4.15 ndb_select_all — Print Rows from an NDB Table
17.4.16 ndb_select_count — Print Row Counts for NDB Tables
17.4.17 ndb_show_tables — Display List of NDB Tables
17.4.18 ndb_size.pl — NDBCLUSTER Size Requirement Estimator
17.4.19 ndb_waiter — Wait for MySQL Cluster to Reach a Given Status
17.4.20 Options Common to MySQL Cluster Programs — Options Common to MySQL Cluster Programs
17.5 Management of MySQL Cluster
17.5.1 Summary of MySQL Cluster Start Phases
17.5.2 Commands in the MySQL Cluster Management Client
17.5.3 Online Backup of MySQL Cluster
17.5.4 MySQL Server Usage for MySQL Cluster
17.5.5 Performing a Rolling Restart of a MySQL Cluster
17.5.6 Event Reports Generated in MySQL Cluster
17.5.7 MySQL Cluster Log Messages
17.5.8 MySQL Cluster Single User Mode
17.5.9 Quick Reference: MySQL Cluster SQL Statements
17.5.10 MySQL Cluster Security Issues

This chapter contains information about MySQL Cluster, a high-availability, high-redundancy version of MySQL adapted for the distributed computing environment. It uses the NDBCLUSTER storage engine to enable running several computers with MySQL servers and other software in a cluster. This storage engine is available in MySQL 5.0 binary releases and in RPMs compatible with most modern Linux distributions.

Beginning with MySQL 5.0.8, MySQL Cluster changes for MySQL 5.0 Server releases can be found in the MySQL 5.0 Server Release Notes. For release notes for older releases of MySQL Cluster (before 5.0.8), see MySQL Cluster 5.0 Release Notes.

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.

Compatibility with standard MySQL.  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 or InnoDB—to use the NDB storage engine without allowing for the possibility of changes in schemas, queries, and applications.

Beginning with MySQL Cluster NDB 7.1, MySQL Cluster is available for production use on Microsoft Windows. MySQL Cluster is not available for Microsoft Windows in MySQL 5.0. For more information, see MySQL Cluster NDB 6.1 - 7.1.

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 about MySQL Cluster can be found in the following places: