10bet网址
MySQL 5.7参考手册
相关的文档10bet官方网站 下载本手册 本手册摘录

21.4.24.1将NDB备份还原到不同版本的NDB群集

下面的两个部分提供了关于将本地NDB备份恢复到NDB集群的不同版本的信息。

此外,您应该咨询第21.2.7节,“升级和降级NDB集群”,用于在尝试将NDB备份恢复到运行不同版本NDB软件的集群时可能遇到的其他问题。

它也建议审查NDB Cluster 8.0有什么新功能, 也第2.11.3节,“MySQL 5.7的变化”NDB 8.0和以前版本的NDB集群之间的其他变化可能与你的特殊情况有关。

21.4.24.1.1恢复NDB备份到以前版本的NDB集群

由于使用早期版本中不存在的功能,您可能会在恢复从后续NDB群集的备份时恢复到前一个的备份时遇到问题。以下列出了其中一些问题:

  • 在NDB 8.0中创建的表默认使用utf8mb4_ai_ci字符集,在NDB 7.6和更早的版本中是不可用的,所以不能被ndb_restore来自这些早期版本之一的二进制文件。在这种情况下,有必要使用任何表来使用utf8mb4_ai_ci以便在执行备份之前使用旧版本支持的字符集。

  • 由于MySQL Server和NDB句柄表元数据的变化,使用来自NDB 8.0.14或更高版本的包含包含的MySQL Server Binary创建或更改的表无法使用ndb_restore到NDB集群的早期版本。这些表的使用.sdi的旧版本不能理解的文件mysqld.

    在NDB 8.0.14或更高版本中拍摄的备份在NDB 8.0.13或更早版本中创建,并且由于升级到NDB 8.0.14或更高版本而未更改,则应恢复到旧版本的NDB群集。

    由于可以分别恢复元数据和表数据,因此在这种情况下可以从使用的转储恢复表模式,mysqldump,或通过执行必要的创建表语句,然后只导入表数据ndb_restore——恢复数据选项。

  • 在NDB 8.0.22及以后版本中创建的加密备份不能使用ndb_restore从NDB 8.0.21或更早。

  • ndb_stored_user.在NDB 8.0.18之前不支持特权。

  • NDB群集8.0.18及更高版本支持最多144个数据节点,而早期版本最多支持48个数据节点。看第21.4.24.2.1节,“恢复到比原来少的节点”,有关此不兼容导致问题的情况的信息。

21.4.24.1.2将NDB备份还原到稍后版本的NDB群集

通常,应该可以恢复使用ndb_mgm.客户开始备份命令转换为新版本的NDB,前提是使用ndb_restore新版本附带的二进制文件。(可能使用旧版本的ndb_restore,但不建议这样做。)其他潜在的问题在这里列出:

  • 从备份恢复元数据(——restore-meta选项),ndb_restore通常尝试完全重现捕获的表模式,就像备份时一样。

    在8.0.14之前的NDB版本中创建的表.frm文件的元数据。可以通过这些文件读取mysqld.在NDB 8.0.14及更高版本中,可以使用其中包含的信息来创建.sdiMySQL数据字典在后续版本中使用的文件。

  • 在将较旧版本的NDB还原到更新的NDB时,可能无法利用较新的功能,例如HashMap分区,大量HashMap存储桶,读取备份和不同的分区布局。因此,可能最好恢复旧的模式使用,mysqldumpmysql客户端,允许NDB使用新的架构功能。

  • 使用旧时态类型的表不支持小数秒(在MySQL 5.6.4和NDB 7.3.31之前使用)不能恢复到NDB 8.0使用ndb_restore。您可以使用检查表,然后将其升级为较新的时态列格式,如果需要,使用修复表mysql客户;这必须在备份之前完成。看为升级准备安装, 想要查询更多的信息。

    您还可以使用创建的转储来恢复这些表,mysqldump

  • NDB 8.0不支持在NDB 7.6及之前创建的分布式授权表。这些表可以恢复到NDB 8.0集群中,但是它们对访问控制没有影响。