MySQL NDB Cluster 7.5.25 是 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.37 在主线 MySQL 5.7 中添加的所有错误修复和功能更改(请参阅MySQL 5.7.37 中的更改(2022-01- 18, 一般可用性) )。
-
重要更改: 已弃用的数据节点选项
--connect-delay
已被删除。此选项是 的同义词--connect-retry-delay
,并非在所有情况下都适用;此问题已得到修复,该选项现在可以正常工作。此外,-r
此选项的缩写形式已被弃用,您应该期望在未来的版本中将其删除。(错误号 31565810)参考资料:另请参阅:Bug #33362935。
NDB Cluster API: 不再可能
DIVERIFYREQ
异步使用信号。(缺陷号 33161562)wait for scans
联机重组期间日志输出 的时间安排不正确。作为此修复的一部分,我们将时间更改为每 10 秒生成一条消息,而不是无限扩展,以便提供定期更新。(缺陷号 35523977)在ndbd和 ndbmtd 中添加了缺失值检查。(缺陷号 33661024)
-
联机表重组增加了表的碎片数,并在它们之间移动行。这是通过以下步骤完成的:
将行复制到新片段
更新分布信息(hashmap 计数和总碎片)
等待使用旧分发的扫描活动停止
删除已移出现有分区的行
删除对旧哈希图的引用
等待从第 2 步开始的扫描活动停止
由于计数错误,重组有可能在第 6 步挂起;扫描引用计数没有减少,因此从未像预期的那样达到零。(缺陷号 33523991)
-
当启用优化器开关 时,表 上的相同推送连接
NDB
返回不正确的结果 。batched_key_access
这个问题产生如下:当使用批量密钥访问(BKA)算法连接两个表时,首先从其中一个表中收集一组批量密钥;多范围读取 (MRR) 操作是针对另一个构建的。在 MRR 上指定了一组边界(范围),使用批处理的键来构造每个边界。
当返回结果行时,有必要确定每个返回行来自哪个范围。这用于标识执行 BKA 连接的外表行。当有问题的 MRR 操作是推送连接操作的根时,
SPJ
无法检索此标识符 (RANGE_NO
)。我们通过实现缺少的SPJ
API 功能来解决此问题,以便RANGE_NO
从推送的连接查询中返回此类。(缺陷号 33416308) MySQL 优化器使用两种不同的方法,
handler::read_cost()
和Cost_model::page_read_cost()
,来估计不同访问方法的成本,但这些方法返回的成本值并不总是可比较的;在某些情况下,这会导致选择了错误的索引,并导致受影响查询的执行时间更长。为了解决这个问题,我们用一个特定于 的方法NDB
覆盖了优化器的 方法。在处理此问题时还发现处理程序未实现该方法,由 ; 此方法现在由 实施,因此优化器现在可以正确地考虑成本差异page_read_cost()
NDBCLUSTER
NDB
read_time()
read_cost()
ha_ndbcluster
NDB
当使用唯一键而不是有序索引(范围扫描)时。(缺陷号 33317872)在某些情况下,未正确检测到事件的类别。(缺陷号 33304814)
DBDICT
并不总是正确地执行表名检查。(缺陷号 33161548)在ndbd和ndbmtd 中添加了一些缺失的 ID 和其他值检查 。(错误#33161486,错误#33162047)
SET_LOGLEVELORD
信号并不总是被正确处理。(缺陷号 33161246)DUMP 11001
并不总是正确处理它的所有参数。(缺陷号 33157513)文件名并不总是被正确验证。(缺陷号 33157475)
在ndbd和ndbmtd 中添加了一些缺失的 ID 和其他值检查 。(错误#32983700,错误#32893708,错误#32957478,错误#32983256,错误#32983339,错误#32983489,错误#32983517,错误#33157527,错误#33157531,错误#33161271,错误16Bug1394,Bug16Bug1393, #33161331, Bug #33161372, Bug #33161462, Bug #33161511, Bug #33161519, Bug #33161537, Bug #33161570, Bug #33162059, Bug #33162065, Bug #33162074, Bug #33162082, Bug #33162092, Bug #33162098 ,漏洞#33304819)
管理服务器并不总是正确处理错误大小的事件。(缺陷号 32957547)
-
在某些情况下,恢复备份时重做日志的问题会导致数据节点意外关闭。为了解决这个问题,当重做日志文件不可用于写入时,我们现在
CONTINUEB
在发送之前在信号中包含正确的等待代码和等待日志部分。(缺陷号 32733659)参考资料:另请参阅:Bug #31585833。
-
随着表数量的增加,MySQL Enterprise Monitor 用于监视 NDB Cluster 中内存使用情况的查询的性能明显下降
NDB
。我们解决这个问题如下:ndbinfo
MySQL 优化器可以使用 虚拟表的行数现在为所有
ndbinfo
表格 提供大小估计
在这些改进之后,对
ndbinfo
表的查询应该明显更快。(漏洞#28658625) NDB
当从内部系统表创建和删除函数返回错误时,没有关闭任何挂起的模式事务。