MySQL 5.7 Reference Manual Including MySQL NDB Cluster 7.5 and NDB Cluster 7.6
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 20.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 20.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 20.2.7.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 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:
Perform a rolling restart of the entire cluster
Delete all .frm
files in the
data/ndbinfo
directory
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 20.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)