10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载 本手册节选

23.4.23.1恢复备份到不同版本的新db集群

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

此外,你应该咨询23.2.7节“新开发银行集群升级和降级”,以解决在试图将NDB备份恢复到运行不同版本的NDB软件的集群时可能遇到的其他问题。

复习一下也是可取的NDB集群8.0有什么新特性,以及第2.11.4节“MySQL 8.0的更改”,以查看与您的具体情况相关的NDB集群8.0与之前版本之间的其他更改。

23.4.23.1.1将备份的NDB恢复到NDB集群的旧版本

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

  • 在NDB 8.0中创建的表默认使用utf8mb4_ai_ci字符集,该字符集在NDB 7.6及更早版本中不可用,因此无法通过ndb_restore这些早期版本之一的二进制文件。在这种情况下,有必要使用utf8mb4_ai_ci以便在执行备份之前使用旧版本支持的字符集。

  • 由于MySQL服务器和NDB处理表元数据的方式发生了变化,使用从NDB 8.0.14或更高版本包含的MySQL服务器二进制文件创建或修改的表不能使用ndb_restore到NDB集群的较早版本。这些表的使用.sdi的旧版本无法理解的文件mysqld

    在NDB 8.0.14或更高版本中对8.0.13或更高版本中创建的表进行备份,且升级到8.0.14或更高版本后未发生更改的,应可恢复到旧版本的NDB集群。

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

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

  • NDB_STORED_USERNDB 8.0.18之前不支持特权。

  • NDB Cluster 8.0.18及以上版本最多支持144个数据节点,较早版本最多支持48个数据节点。看到第23.4.23.2.1节“恢复到比原来更少的节点”,以获取有关这种不兼容导致问题的情况的信息。

23.4.23.1.2恢复NDB集群的备份到新版本

方法创建的备份通常应该能够恢复ndb_mgm客户端开始备份命令转换为新版本,前提是您使用ndb_restore新版本自带的二进制文件。的旧版本是可能的ndb_restore,但不建议这样做。)下面列出了其他可能的问题:

  • 从备份恢复元数据时(——restore-meta选项),ndb_restore通常尝试重新生成捕获的表模式,与执行备份时完全相同。

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

  • 当将旧的备份恢复到新版本的NDB时,可能无法利用新特性,如hashmap分区、更多的hashmap桶数量、读备份和不同的分区布局。因此,可能更可取的方法是使用, mysqldumpmysql客户端,允许NDB使用新的模式特性。

  • 使用不支持分数秒的旧时态类型的表(在MySQL 5.6.4和NDB 7.3.31之前使用)不能恢复到NDB 8.0ndb_restore.您可以使用检查表,然后将它们升级为较新的时态列格式,如有必要,使用修理表mysql客户端;这必须在进行备份之前完成。看到第2.11.5节“为升级准备安装”,以查询更多资料。

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

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