In general, it should be possible to restore a backup
created using the ndb_mgm client
START BACKUP
command in
an older version of NDB to a newer version, provided that
you use the ndb_restore binary that comes
with the newer version. (It may be possible to use the older
version of ndb_restore, but this is not
recommended.) Additional potential issues are listed here:
When restoring the metadata from a backup (
--restore-meta
option), ndb_restore normally attempts to reproduce the captured table schema exactly as it was when the backup was taken.Tables created in versions of NDB prior to 8.0.14 use
.frm
files for their metadata. These files can be read by the mysqld in NDB 8.0.14 and later, which can use the information contained therein to create the.sdi
files used by the MySQL data dictionary in later versions.When restoring an older backup to a newer version of NDB, it may not be possible to take advantage of newer features such as hashmap partitioning, greater number of hashmap buckets, read backup, and different partitioning layouts. For this reason, it may be preferable to restore older schemas using mysqldump and the mysql client, which allows NDB to make use of the new schema features.
Tables using the old temporal types which did not support fractional seconds (used prior to MySQL 5.6.4 and NDB 7.3.31) cannot be restored to NDB 8.0 using ndb_restore. You can check such tables using
CHECK TABLE
, and then upgrade them to the newer temporal column format, if necessary, usingREPAIR TABLE
in the mysql client; this must be done prior to taking the backup. See Preparing Your Installation for Upgrade, for more information.You also restore such tables using a dump created with mysqldump.
Distributed grant tables created in NDB 7.6 and earlier are not supported in NDB 8.0. Such tables can be restored to an NDB 8.0 cluster, but they have no effect on access control.