Documentation Home
MySQL NDB Cluster 7.5 发行说明  /  MySQL NDB Cluster 7.5.11 (5.7.23-ndb-7.5.11) 的变化(2018-07-27,全面上市)

MySQL NDB Cluster 7.5.11 (5.7.23-ndb-7.5.11) 的变化(2018-07-27,全面上市)

MySQL NDB Cluster 7.5.11 是 MySQL NDB Cluster 7.5 的新版本,它基于 MySQL Server 5.7,包括NDB存储引擎 7.5 版中的功能,并修复了最近在以前的 NDB Cluster 版本中发现的错误。

获取 MySQL NDB Cluster 7.5。  MySQL NDB Cluster 7.5 源代码和二进制文件可以从https://mysql.net.cn/downloads/cluster/获得。

有关 MySQL NDB Cluster 7.5 中所做更改的概述,请参阅 NDB Cluster 7.5 中的新增功能

此版本还合并了以前 NDB Cluster 版本中所做的所有错误修复和更改,以及通过 MySQL 5.7.23 在主线 MySQL 5.7 中添加的所有错误修复和功能更改(请参阅MySQL 5.7.23 中的更改(2018-07- 27,一般可用性))。

修正错误

  • ndbinfo 信息数据库: 重启后可能会使用(有时不完整的)回退数据来填充 ndbinfo.processes表,这可能导致此表中的行具有空 process_name值。此类回退数据不再用于此目的。(漏洞#27985339)

  • MySQL NDB ClusterJ: 无法使用 JDK 9 从源代码构建 ClusterJ。(缺陷 #27977985)

  • 内部缓冲区在释放后立即被重用可能会导致数据节点意外关闭。(漏洞#27622643)

    参考资料:另请参阅:Bug #28698831。

  • 联机备份由NDB模糊数据以及重做和撤消日志组成。要恢复到一致的状态,有必要确保日志包含跨越模糊数据部分捕获和一致快照点的所有更改。这是通过在数据捕获完成后等待通过 GCI 边界来实现的,但在停止更改日志记录和在备份元数据中记录停止 GCI 之前。

    在恢复时,日志会重播到停止 GCI,将系统恢复到一致停止 GCI 时的状态。当在负载下,可能会选择出现得太早且未跨越所有捕获数据的 GCI 边界时,就会出现问题。这可能会导致恢复备份时出现不一致;这些可能会被视为破坏约束或损坏的BLOB条目。

    现在选择停止 GCI,以便它跨越模糊数据捕获过程的整个持续时间,以便备份日志始终包含给定停止 GCI 内的所有数据。(漏洞#27497461)

    参考资料:另请参阅:Bug #27566346。

  • 对于NDB表,当外键作为 DDL 语句的一部分添加或删除时,所有引用的父表的外键元数据应重新加载到连接到集群的所有 SQL 节点上的处理程序中,但这仅在执行语句的mysqld 。因此,任何依赖于来自相应父表的外键元数据的后续查询都可能返回不一致的结果。(漏洞#27439587)

    参考资料:另请参阅:Bug #82989、Bug #24666177。

  • 内部函数BitmaskImpl::setRange() 设置比指定的少一位。(缺陷 #90648,缺陷 #27931995)

  • 无法 使用set to 、 或 来创建NDB表 。(缺陷 #89811,缺陷 #27602352)PARTITION_BALANCEFOR_RA_BY_LDM_X_2FOR_RA_BY_LDM_X_3FOR_RA_BY_LDM_X_4

    参考:此问题是 Bug #81759、Bug #23544301 的回归。

  • 当内部函数 ha_ndbcluster::copy_fk_for_offline_alter() 检查应该从中删除外键的表上的依赖对象时,它没有对外键执行任何过滤,这使得它有可能尝试检索索引或触发器,从而导致虚假错误 723(没有这样的表)。

  • 在 的执行过程中 ,只要发现请求的表已经存在CREATE TABLE ... IF NOT EXISTS,内部 open_table()函数 ha_ndbcluster::get_default_num_partitions() 就会隐式调用。open_table()在某些情况下, get_default_num_partitions()在没有初始化关联thd_ndb对象的情况下调用,导致语句失败并出现 MySQL 错误 157 Could not connect to storage engine。现在 get_default_num_partitions()始终检查此thd_ndb对象是否存在,并在必要时对其进行初始化。