Documentation Home
MySQL 5.7 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.3Mb
PDF (A4) - 39.4Mb
PDF (RPM) - 38.5Mb
HTML Download (TGZ) - 10.9Mb
HTML Download (Zip) - 11.0Mb
HTML Download (RPM) - 9.6Mb
Man Pages (TGZ) - 217.7Kb
Man Pages (Zip) - 327.4Kb
Info (Gzip) - 3.6Mb
Info (Zip) - 3.6Mb
Excerpts from this Manual

MySQL 5.7 Reference Manual  /  ...  /  Upgrading and Downgrading NDB Cluster

21.2.9 Upgrading and Downgrading NDB Cluster

This section provides information about NDB Cluster software and table file compatibility between different NDB Cluster 7.5 releases with regard to performing upgrades and downgrades as well as compatibility matrices and notes. You are expected already to be familiar with installing and configuring an NDB Cluster prior to attempting an upgrade or downgrade. See Section 21.3, “Configuration of NDB Cluster”.


Only compatibility between MySQL versions with regard to NDBCLUSTER is taken into account in this section, and there are likely other issues to be considered. As with any other MySQL software upgrade or downgrade, you are strongly encouraged to review the relevant portions of the MySQL Manual for the MySQL versions from which and to which you intend to migrate, before attempting an upgrade or downgrade of the NDB Cluster software. See Section 2.11, “Upgrading MySQL”.

The table shown here provides information on NDB Cluster upgrade and downgrade compatibility among different releases of NDB 7.5. Additional notes about upgrades and downgrades to, from, or within the NDB Cluster 7.5 release series can be found following the table.

Upgrades and Downgrades, NDB Cluster 7.5

Figure 21.36 NDB Cluster Upgrade and Downgrade Compatibility, MySQL NDB Cluster 7.5

Image is titled "MySQL NDB Cluster 7.5" and includes rows with the values "7.5.8" on top and "7.5.1" at the bottom with every 7.5.x cluster release in-between. To the left are arrows pointing up and down. Under this section is an area titled "Key" that explains the up and down arrow as "Online upgrades and downgrades possible". The top value, "7.5.8" today, represents the latest release today but this text might not be updated.

Version support.  The following versions of NDB Cluster are supported for upgrades to GA releases of NDB Cluster 7.5 (7.5.4 and later):

  • NDB Cluster 7.4 GA releases (7.4.4 and later)

  • NDB Cluster 7.3 GA releases (7.3.2 and later)

  • NDB Cluster 7.2 GA releases (7.2.4 and later)

Known Issues - NDB 7.5.  The following issues are known to occur when upgrading to or between NDB 7.5 releases:

  • When upgrading from NDB 7.5.2 or 7.5.3 to a later version, the use of mysqld with the --initialize and --ndbcluster options together caused problems later running mysql_upgrade.

    When run with --initialize, the server does not require NDB support; having NDB enabled at this time can cause problems with ndbinfo tables. To keep this from happening, the --initialize option now causes mysqld to ignore the --ndbcluster option if the latter is also specified.

    A workaround for an upgrade that has failed for these reasons can be accomplished as follows:

    1. Perform a rolling restart of the entire cluster

    2. Delete all .frm files in the data/ndbinfo directory

    3. Run mysql_upgrade.

    (Bug #81689, Bug #82724, Bug #24521927, Bug #23518923)

  • During an online upgrade from an NDB Cluster 7.3 release to an NDB 7.4 (or later) release, the failures of several data nodes running the lower version during local checkpoints (LCPs), and just prior to upgrading these nodes, led to additional node failures following the upgrade. This was due to lingering elements of the EMPTY_LCP protocol initiated by the older nodes as part of an LCP-plus-restart sequence, and which is no longer used in NDB 7.4 and later due to LCP optimizations implemented in those versions. This issue was fixed in NDB 7.5.4. (Bug #23129433)

  • Beginning with NDB 7.5.2, the ndb_binlog_index table uses the InnoDB storage engine. (Use of the MyISAM storage engine for this table continues to be supported for backward compatibility.)

    When upgrading a previous release to NDB 7.5.2 or later, you can use the --force --upgrade-system-tables options with mysql_upgrade so that it performs ALTER TABLE ... ENGINE=INNODB on the ndb_binlog_index table.

    For more information, see Section 21.6.4, “NDB Cluster Replication Schema and Tables”.

  • Online upgrades from previous versions of NDB Cluster to NDB 7.5.1 were not possible due to missing entries in the matrix used to test upgrade compatibility between versions. (Bug #22024947)

    Also in NDB 7.5.1, mysql_upgrade failed to upgrade the sys schema if a sys database directory existed but was empty. (Bug #81352, Bug #23249846, Bug #22875519)

Known issues - NDB 7.6.  The following issues are known to occur when upgrading to or between NDB 7.6 releases:

Changes in Disk Data file format.  Due to changes in disk format, upgrading to or downgrading from either of the versions listed here requires an initial node restart of each data node:

  • NDB 7.6.2

  • NDB 7.6.4

To avoid problems relating to the old format, you should re-create any existing tablespaces and undo log file groups when upgrading. You can do this by performing an initial restart of each data node (that is, using the --initial option) as part of the upgrade process.

If you are using Disk Data tables, a downgrade from any NDB 7.6 release to any NDB 7.5 or earlier release requires that you restart all data nodes with --initial as part of the downgrade process. This is because NDB 7.5 and earlier release series are not able to read the new Disk Data file format.


Upgrading to NDB 7.6.4 or later from an earlier release, or downgrading from NDB 7.6.4 or later to an earlier release, requires purging then re-creating the NDB data node file system, which means that each data node must be restarted using the --initial option as part of the rolling restart or system restart normally required. (Starting a data node with no file system is already equivalent to an initial restart; in such cases, --initial is implied and not required. This is unchanged from previous releases of NDB Cluster.)

When such a restart is performed as part of an upgrade to NDB 7.6.4 or later, any existing LCP files are checked for the presence of the LCP sysfile, indicating that the existing data node file system was written using NDB 7.6.4 or later. If such a node file system exists, but does not contain the sysfile, and if any data nodes are restarted without the --initial option, NDB causes the restart to fail with an appropriate error message.

You should also be aware that no such protection is possible when downgrading from NDB 7.6.4 or later to a release previous to NDB 7.6.4.