21.2.9.1 Upgrading and Downgrading NDB 7.5
This section provides information about compatibility between different NDB Cluster 7.5 releases with regard to performing upgrades and downgrades as well as compatibility matrices and notes. Additional information can also be found here regarding downgrades from NDB 7.5 to previous NDB release series. You should already be familiar with installing and configuring NDB Cluster prior to attempting an upgrade or downgrade. See Section 21.3, “Configuration of NDB Cluster”.
Schema operations, including SQL DDL statements, cannot be performed while any data nodes are restarting, and thus during an online upgrade or downgrade of the cluster. For other information regarding the rolling restart procedure used to perform an online upgrade, see Section 21.5.5, “Performing a Rolling Restart of an 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”. For information about upgrades to NDB 7.6, see Section 21.2.9.2, “Upgrading and Downgrading NDB 7.6”.
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.
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)
Known Issues. 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 requireNDB
support; havingNDB
enabled at this time can cause problems withndbinfo
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:
Perform a rolling restart of the entire cluster
Delete all
.frm
files in thedata/ndbinfo
directoryRun 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 theInnoDB
storage engine. (Use of theMyISAM
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 performsALTER TABLE ... ENGINE=INNODB
on thendb_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 asys
database directory existed but was empty. (Bug #81352, Bug #23249846, Bug #22875519)