MariaDB 10.10.1 RC 和 10.9.2 GA 现已推出。MariaDB 基金会宣布了 MariaDB 10.10.1 的可用性,这是 MariaDB 10.10 系列中的第一个候选版本,而 MariaDB 10.9.2 则是 MariaDB 10.9 系列中的第一个普遍可用的版本。这些都是短期支持系列,在 GA 后维护一年。
一些亮点更新内容包括:
InnoDB
- 由于缺少文件锁定而导致 InnoDB 损坏 ( MDEV-28495 )
- 带撇号和强制字词的 FULLTEXT search ( MDEV-20797 )
- ALTER TABLE IMPORT TABLESPACE 损坏了加密表 ( MDEV-28779 )
- ALTER TABLE 错误结果修复 ( MDEV-26294 )
- 崩溃恢复修复 ( MDEV-28668 , MDEV-28731 )
- DDL 崩溃恢复修复(MDEV-28752、MDEV-28802、MDEV-28864、MDEV-28870、MDEV-28923、MDEV-28977)
- 避免损坏数据崩溃(MDEV-13542、MDEV-18519、MDEV-21098、MDEV-22388、MDEV-28457、MDEV-28950)
- 批量加载错误修复 ( MDEV-28242 , MDEV-28679 )
- 性能修复(MDEV-28708、MDEV-28766)
- 删除 innodb_version ( MDEV-28554 )
- 弃用并忽略参数 innodb_prefix_index_cluster_optimization ( MDEV-28540 )
- SHOW ENGINE INNODB STATUS 中的无用输出 ( MDEV-28542 )
Replication
- ER_SLAVE_INCIDENT 错误现在被指定在 slave 上,以便通过 SHOW-SLAVE-STATUS 看到 (MDEV-21087)
- 当正在记录的事务可以安全回滚时,INCIDENT_EVENT 不再被 binlogged (MDEV-21443)
- 序列相关的行格式事件对应于 binlog_row_image ( MDEV-28487 )
- 消除了 FLUSH BINARY LOGS 挂起的可能原因 ( MDEV-28948 )
- 修复循环半同步设置中的 out-of-order gtid 错误 ( MDEV-28609 )
- 为 SQL 线程添加了 global.slave_max_statement_time 选项,以限制每个查询复制的最大执行时间 ( MDEV-27161 )
- CHANGE MASTER 的 MASTER_USE_GTID=Current_Pos 已弃用,以支持新的 MASTER_DEMOTE_TO_SLAVE 选项 ( MDEV-20122 )
- CHANGE MASTER TO 和 RESET SLAVE 的 MASTER_USE_GTID 默认值已更改为与 GTID-based replication 兼容 ( MDEV-19801 )
Galera
- 在 read_only=ON 而不是 SUPER 权限的情况下,有可能 write/update ( MDEV-28546 )
- 节点崩溃,传输端点未连接 mysqld 得到 signal 6 ( MDEV-25068 )
- Galera4 无法报告正确的 wsrep_incoming_addresses ( MDEV-20627 )
- Galera 应该在 INCREMENT <> 0 的序列中复制与 nextval() 相关的更改,至少是 engine=InnoDB 的 NOCACHE 序列 ( MDEV-27862 )
- 在 Galera 中添加对 OpenSSL 3.0 的支持 ( MDEV-25949 )
- 实现一种方法,将 IP 添加到可以发出 SST/IST 请求的 Galera Cluster 节点地址的允许列表 ( MDEV-27246 )
Optimizer
- JOIN_CACHE::free 或 copy_fields 中的服务器崩溃 ( MDEV-23809 )
- 使用 DISTINCT 和像 COLLATION(aggegate_func(...)) 这样的常量函数的查询可能会导致服务器崩溃。请注意,COLLATION() 是一个特殊函数 - 即使它的参数不是常数,它的值也是常数。
- 在 GROUP BY 子句中使用带有冗余子查询的 ANY 谓词时崩溃 ( MDEV-29139 )
- 带有这种形式的子查询的查询可能会导致崩溃:
... ANY (SELECT ... GROUP BY (SELECT redundant_subselect_here)) ...
- MariaDB Server SEGV on INSERT .. SELECT ( MDEV-26427 )
- “INSERT ... SELECT with_aggregate_or_window_func”形式的某些查询可能会导致崩溃。
- restore_prev_nj_state() 没有正确更新 cur_sj_inner_tables ( MDEV-28749 )
- 子查询半连接优化可能会错过某些查询的 LooseScan 或 FirstMatch 策略。
- 升级到 10.3 后优化器使用所有分区 ( MDEV-28246 )
- 对于多表 UPDATE 或 DELETE 查询,优化器未能对更新或删除的表应用分区修剪优化。
- key IN (const, ....) 的 Range optimizer 回归 ( MDEV-25020 )
- 该问题可以在 MariaDB 10.5.9 及更高版本中观察到,这些版本具有针对 MDEV-9750 的修复程序。该修复引入了 optimizer_max_sel_arg_weight。
- 如果将 optimizer_max_sel_arg_weight 设置为非常高的值或零(这意味着“无限”)并运行生成 heavy-weight graphs,他们可以观察到性能下降,例如:
table.keyXpartY [NOT] IN ( ... )
- 与 not_null_range_scan 结合使用的表消除错误结果 ( MDEV-28858 )
- 如果使用 optimizer_switch='not_null_range_scan=on' (默认情况下未启用)运行,则执行连接并具有 const 表的查询可能会产生错误的结果。
- best_access_path 中的断言 `tmp >= 0' 失败 ( MDEV-28882 )
- 如果使用 histogram_type=JSON_HB,收集了该类型的直方图并运行查询,选择直方图末端附近的一个非常窄的范围,则由于直方图中的舍入错误导致负选择性,他们可能会在优化器中命中断言。
General
- JSON_EXTRACT 中的崩溃 ( MDEV-29188 )
- ALTER TABLE ALGORITHM=NOCOPY 在升级后不起作用 ( MDEV-28727 )
- CREATE VIEW 在 ON condition 下有未知列时,服务器崩溃 ( MDEV-29088 )
- password_reuse_check 插件混合了用户名和密码 ( MDEV-28838 )
- 根据 MariaDB 弃用政策,这将是 MariaDB 10.10 for Debian 10 "Buster" for ppc64el 的最后一个版本
更多详情可分别查看 MariaDB 10.10.1 Release Notes 和 MariaDB 10.9.2 Release Notes。