• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 升级和降级NDB群集

    本节提供有关NDB Cluster软件和不同NDB Cluster 8.0版本之间的表文件兼容性的信息,这些信息涉及执行升级和降级以及兼容性矩阵和说明。在尝试升级或降级之前,您应该已经熟悉安装和配置NDB Cluster。请参见“ NDB群集的配置”。

    在任何数据节点重新启动时,以及因此在群集的联机升级或降级期间,无法执行包括SQL DDL语句在内的架构操作。有关用于执行在线升级的滚动重新启动过程的其他信息,

    重要

    本节仅考虑MySQL版本之间的兼容性NDBCLUSTER,并且可能还会考虑其他问题。与其他任何MySQL软件的升级或降级一样,强烈建议您在尝试升级或降级NDB Cluster软件之前,仔细阅读《 MySQL手册》中与MySQL版本相关的部分。请参见“升级MySQL”。

    此处显示的表提供了有关NDB群集不同版本之间的NDB群集升级和降级兼容性的信息。可以在该表后找到有关在NDB Cluster 8.0版本系列中进行升级或降级的其他说明。

    升级和降级,NDB Cluster 8.0

    NDB群集升级和降级兼容性,MySQL NDB群集8.0

    版本支持。支持将NDB Cluster的以下版本升级到NDB Cluster 8.0(8.0.19及更高版本)的GA版本。

    • NDB群集7.6:NDB 7.6.4和更高版本
    • NDB集群7.5:NDB 7.5.4和更高版本
    • NDB群集7.4:NDB 7.4.6和更高版本

    要从NDB 7.4之前的发行系列升级,必须分阶段升级,首先升级到刚才列出的版本,然后再从该版本升级到最新的NDB 8.0版本。在这种情况下,建议首先升级到最新的NDB 7.6版本。

    已知的问题。升级到NDB 8.0版本或在NDB 8.0版本之间升级时,已知会发生以下问题:

    • 不支持从NDB 8.0.14联机降级到早期版本。NDB 8.0.14中创建的表与以前的版本不向后兼容。这是由于对NDB表实现的额外元数据属性的用法进行了更改,以提供对MySQL数据字典的完全支持。

      有关更多信息,请参见 NDB表中的额外元数据更改。另请参见MySQL数据字典

    • NDB Cluster 8.0不支持在先前版本系列中实现的MySQL服务器之间共享的分布式特权(请参阅使用共享授权表的分布式特权)。启动时,NDB 8.0.16和更高版本随附的mysqld会检查是否存在使用NDB存储引擎的任何授权表;如果找到任何副本,则使用创建它们的本地副本(“影子表”)InnoDB。对于连接到NDB群集的每个MySQL服务器都是如此。在充当NDB群集SQL节点的所有MySQL服务器上执行此操作之后,NDB可以使用NDB Cluster发行版随附的ndb_drop_table实用工具安全地删除授权表,如下所示:

      ndb_drop_table -d mysql user db columns_priv tables_priv proxies_priv procs_priv
      

      保留NDB授权表是安全的,但是它们不用于访问控制,实际上被忽略。

      有关NDB 8.0中使用的MySQL特权系统的更多信息,请参见“使用NDB_STORED_USER的分布式MySQL特权”以及“授权表”。

    • 在NDB 8.0.18中,二进制配置文件格式已得到增强,以提供对比以前版本更大数量的节点的支持。尽管较新的管理服务器可以检测较旧的节点并使用适当的格式与之通信,但8.0.17和较旧的节点无法访问新格式。

      在这方面,从8.0.17及更早版本升级到NDB 8.0.18或更高版本应该没有问题。在从NDB 8.0.18或更高版本降级到8.0.17或更低版本的情况下,由于较旧的管理服务器无法读取较新的二进制配置文件格式,因此需要一些手动干预。执行此类降级时,必须在使用较旧的NDB软件版本开始管理之前删除所有缓存的二进制配置文件,并使管理服务器可以读取纯文本配置文件。或者,您可以使用--initial选项启动较早的管理服务器(同样,必须具有config.ini可用)。如果群集使用多个管理服务器,则必须对每个管理服务器二进制文件执行以下两项操作之一。

      同样,由于数据节点LCP中NDB 8.0.18中实现了不兼容的更改,因此支持增加节点数,Sysfile从NDB 8.0.18(或更高版本)在线降级到任何先前版本时,使用该--initial选项重新启动所有数据节点。

      --initial将NDB 7.6.4之前的任何发行版升级到任何NDB 8.0发行版时,还需要使用重新启动数据节点。

    • 不支持将运行48个以上数据节点或具有节点ID大于48的数据节点的群集从NDB 8.0.18或更高版本直接降级到NDB 8.0.17和更低版本。在这种情况下,有必要减少数据节点的数量,更改所有数据节点的配置,以使它们使用小于或等于48的节点ID,或根据需要使用两个节点ID,以不超过旧的最大值。
    • 如果要从NDB 8.0降级到NDB 7.5或NDB 7.4,则必须IndexMemory在群集配置文件中为其设置显式值(如果尚不存在)。这是因为NDB 8.0不使用此参数(在NDB 7.6中已将其删除),并且默认情况下将其设置为0,而在NDB 7.5和NDB 7.4中则需要此参数,因为这两个群集均拒绝以接收到无效的配置开始从Management Server ...如果IndexMemory未设置为非零值。

      设置IndexMemory要求降级,从NDB 8.0至7.6 NDB。