发布日期:2025 年 2 月 4 日
MariaDB 11.4 是 MariaDB 的当前长期系列,将维护到 2029 年 5 月。它是 MariaDB 11.3 的演变,具有几个全新的功能。
MariaDB 11.4.5 是一个稳定 (GA) 版本。
有关 MariaDB 11.4 的概述,请参阅什么是 MariaDB 11.4?页。
谢谢,享受 MariaDB!
值得注意的项目
存储引擎
InnoDB 数据库
- 修复缓冲池用完时 InnoDB 可能挂起的问题 (MDEV-35409)
- 修复父级中具有 vcol 索引的表的级联外键更新时的断言失败 (MDEV-29182)
- 修复 ROW_FORMAT=COMPRESSED 并启用更改缓冲的二级索引中的潜在问题 (MDEV-35679)
- 修复了无法在 NOT NULL 列上指定 ON UPDATE SET NULL 的问题 (MDEV-35445)
- Innochecksum 的新参数 --skip-freed-pages。使用此参数可不获取报告为现有撤消日志页面的释放撤消日志。(MDEV-35394)
- 现在避免在保存 InnoDB 表统计信息时克隆表统计信息 (MDEV-35363)
- InnoDB 死锁输出查询长度增加,以提高死锁语句的可见性。(MDEV-32576)
记忆
- 修复从 HEAP 表中执行 DELETE作时可能发生的崩溃 (MDEV-22695)
蜘蛛
- 修复在第 2 次 INSERT 时可能出现的 Spider 线程挂起在“Update”状态的问题 (MDEV-35064)
- 修复spider_sys_open_table «ext-issue» MDEV-32822»、«ext-issue» MDEV-34302»中启动时可能发生的崩溃 (MDEV-34925)
字符集和排序规则
- 添加了 44 个新排序规则。这些是 MySQL 排序规则的别名,可以更轻松地从 MySQL 复制到 MariaDB (MDEV-35256)
- Information Schema Collations 表包括一个新列
COMMENT,其中包含有关别名引用的排序规则的信息。
- Information Schema Collations 表包括一个新列
- 使用唯一键和 nopad 排序规则(不使用 DESC 或 HASH 键)修复断言错误和可能的索引损坏 (MDEV-30111)
- 修复客户端将字符集设置为 utf32 后客户端崩溃命令的问题 (MDEV-34090)
- 修复了 XA RECOVER 将零偏移量应用于空指针可能导致的运行时错误 (MDEV-35549)
- 修复了具有特定字符集的表中默认值中的函数可能会破坏 SHOW CREATE 和 mariadb-dump 的问题 (MDEV-29968)
复制
- 修复二进制日志的 mariadb-binlog 解析期间时间戳格式不正确的问题,导致时间点恢复差异 (MDEV-31761)
- mariadb-binlog 现在可以在指定 --stop-datetime 时正确处理多个日志文件 (MDEV-35528)
- 以前将 'pseudo_thread_id' 设置为超过 4 字节的值会导致在写入二进制日志时被截断 (MDEV-35646)
- MariaDB 现在支持 MySQL 8.0 二进制日志事件,包括 PARTIAL_UPDATE_ROWS_EVENT、TRANSACTION_PAYLOAD_EVENT 和 HEARTBEAT_LOG_EVENT_V2。(MDEV-35643)
优化
- 修复使用 ORDER BY 对视图执行 INSERT作后 get_sort_by_table/make_join_statistics 中的服务器崩溃 (MDEV-29935)
- 修复导致中断和复制失败的失败断言 (MDEV-24035)
- 具有 SP 局部变量的条件现在被推送到派生表中。以前的行为导致性能变慢和表扫描,而不是使用下推条件 (MDEV-35910)
- 使用 IN 谓词和单列的 NULL 感知具体化不再跳过构建排序Ordered_key结构 (MDEV-34665)
- 使用带有窗口函数的退化子查询 (SELECT <expr>) 修复可能出现的错误结果 (MDEV-35869)
分区
- 启用系统版本控制后,历史记录现在存储在不同Galera节点上的相同分区上(MDEV-35096)。
- 修复在 ALTER TABLE 期间使用 HASH 索引清除 InnoDB 期间可能出现的挂起或崩溃问题 (MDEV-25654)
- EXCHANGE PARTITION 现在适用于具有唯一 blob 的表 (MDEV-35612)
- 如果表具有分区,并且尝试更改索引不是 partitions 键的列,则可以正确使用 algorithm = instant。这之前会给出错误“错误 1846 (0A000):不支持 ALGORITHM=INSTANT。原因:ADD INDEX。尝试 ALGORITHM=NOCOPY”。(MDEV-34813)
Galera
- Galera 已更新至 26.4.21
- 注意:包括增加 GCS 协议版本,这可以防止在更新所有节点节点后立即降级集群中的各个节点
- 修复 innodb_snapshot_isolation 的流复制事务崩溃 (MDEV-35281)
- 修复启用并行复制的 Galera 异步副本节点上异步复制的偶发性故障 (MDEV-35465)
- 修复在用户指定aria_log_dir_path不同于默认数据目录时wsrep_sst_rsync SST 脚本可能失败的问题 (MDEV-35387)
- 修复使用 threadpool 时关闭期间群集节点挂起的问题 (MDEV-35710)
- 在总序隔离 (wsrep_OSU_method=TOI) 中运行的 MariaDB 集群和 ALTER INPLACE 现在可以正确中止 InnoDB 中的 DML INSERT作 (MDEV-33064)
- 修复 wsrep_check_sequence 中可能出现的崩溃 (MDEV-33245)
- 修复了在 --ps-protocol BF aborted transaction 下发生死锁错误时偶发的成功报告 (MDEV-35446)
- 当使用 wsrep_gtid_mode = 1 时,表 mysql.gtid_slave_pos 中的行现在可以在 Galera 节点上正确删除,这以前会导致有关副本延迟的错误信息 (MDEV-34924)
- 尝试在 Galera 集群节点上执行 INSERT DELAYED 时,可能会发生未定义的行为。(MDEV-35852)
- 修复了在并发应用时,子表上的 DROP TABLE 和父表的 UPDATE 可能导致元数据锁定 BF-BF 冲突的问题。(MDEV-35018)
- Galera 协议版本现在由 show status 显示 - 安装 galera 库 26.4.21+ 后可更改 (MDEV-35505)
- 修复了将集群中的节点从 10.11.9 升级到 10.11.10 时wsrep_sst_mariabackup脚本中可能发生的崩溃问题。(MDEV-35526)
- wsrep_sst_mariabackup.sh不再使用 --use-memory default (100MB),导致准备阶段可能需要数小时 (MDEV-35749)
审计插件
- 对于使用 ed25519 身份验证插件的身份验证,CREATE USER 语句的密码现在在审计日志中被屏蔽 (MDEV-35507)
- MariaDB Audit 现在检测所有用于屏蔽密码的 DCL 表单 (MDEV-35522)
常规
- 修复了服务器无法从输入构造几何对象时可能发生的崩溃 (MDEV-33987)
- 修复使用“CREATE TRIGGER 'table1_after_insert' AFTER INSERT”创建的触发器,该触发器使用“FOR EACH ROW insert into table2('id', 'name') values (NEW.'id', NEW.'name')”将行添加到另一个表,该触发器在应用程序使用批量插入时无法正常工作。只有批量插入的第一行才会添加到表中 (MDEV-34958)
- 更改系统表 'mysql.servers' 的表定义后,以下执行 CREATE SERVER 之前会导致服务器崩溃。
- 注意:用户无论如何都不应修改系统表 (MDEV-33783)
- 修复在检查 UNION 和 LIMIT ROWS 的情况下对分区表进行查询后连接挂起的问题 (MDEV-35571)
- 修复在使用 'tree_search_next' 遍历索引期间可能发生的崩溃。(MDEV-28130)
- 在条件下推期间未正确复制 CURRENT_USER 的 FIx 断言失败 (MDEV-35090)
- START TRANSACTION,当触发隐式提交时,如果之前未执行 COMMIT 或 ROLLBACK,则现在会重置添加到最后一个 START TRANSACTION 命令的可选特征 (MDEV-35335)
- sql_mode='NO_UNSIGNED_SUBTRACTION' 现在适用于多个无符号整数 (MDEV-35651)
- “无法写入 mysql.slow_log”错误不再显示,但未提供错误的详细原因 (MDEV-20281)
- 修复 innodb_checksum_algorithm=full_crc32 加密页面的双重写入恢复 (MDEV-34898)
- 现在可以在具有长 UNIQUE 多列索引(包含外键作为前缀)的表上正确添加外键 (MDEV-33658)
- 在 InnoDB 统计信息表的在线表重建期间,opt_search_plan_for_table() 不再有时降级为全表扫描 (MDEV-35443)
- 修复使用非标准套接字路径时 debian-start 脚本失败的问题 (MDEV-35907)
- 修复了在将零偏移应用于 null 指针时可能出现的挂起或崩溃问题 (MDEV-35864)
- 修复了ST_PointFromWKB忽略 SRID 参数并返回 0 的问题 (MDEV-32619)
- 修复在 CREATE TABLE... 期间可能出现的挂起SELECT 错误处理,尤其是在启用 innodb_snapshot_isolation 的情况下 (MDEV-35647)
- 修复 LOCK_log/LOCK_commit_ordered 和 LOCK_global_system_variables 的锁定顺序错误 (MDEV-29744)
- 修复极少数情况下,二进制日志条目可能在 Galera 集群的辅助节点上收到不正确的时间戳,从而可能影响复制准确性 (MDEV-35157)
- 修复 SHUTDOWN 上可能出现的内存泄漏 (MDEV-35326)
- 修复安装 auth_gssapi 插件后关闭服务器时可能出现的内存泄漏 (MDEV-35575)
- 修复在具有虚拟列的表上使用 INSERT DELAYED 时可能发生的服务器崩溃。(MDEV-26891)
- 修复在连接键的第一个字节更改时可能出现的 Spider 崩溃或挂起的问题 (MDEV-34849)
- 如果为定义为 NOT NULL 但未指定显式值且未指定 DEFAULT 的列添加 NULL 值,则之前返回错误“字段 'xxx' 没有默认值”的 BEFORE INSERT 触发器 (MDEV-19761)
- 以前,如果调用对三个或更多表执行联接的存储例程,并在 USING 子句中引用不存在的列名,则可能导致第二次调用时发生崩溃。(MDEV-24935)
- 修复极少数情况下,二进制日志条目可能在 Galera 集群的辅助节点上收到不正确的时间戳,从而可能影响复制准确性 (MDEV-35157)
安全
- 修复了以下安全漏洞:
更改日志
有关 MariaDB 11.4.5 中所做的更改的完整列表,以及指向每次推送的详细信息的链接,请参阅更改日志。
贡献
有关 MariaDB 11.4.5 贡献者的完整列表,请参阅 MariaDB Foundation 发布公告。
文章转载自通讯员,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




