Kylin-Server-V11、openEuler-22.03和openEuler-24.03适配原生rpm的MySQL 8.4.11版本正式发布
Kylin-Server-V11 mysql 8.4安装教程及安装包下载地址:
https://blog.csdn.net/a15969091614/article/details/155839799
欧拉系统 mysql 8.4安装教程及安装包下载地址:
https://blog.csdn.net/a15969091614/article/details/154072512
MySQL 8.4.11 发行说明变更汇总
提示:本版本说明在 MySQL HeatWave GenAI 的协助下生成。
目录
审计日志 (Audit Log)
-
修复了在调用
audit_log_encryption_password_get( keyring ID )时可能导致服务器意外关闭的问题。(Bug #33296125)
编译相关 (Compilation)
-
将 MySQL 中使用的
libfido2依赖库版本升级至 1.17.0。(Bug #39478664)
弃用与移除 (Deprecation and Removal)
-
以下复制系统变量在此版本中已被弃用,并计划在未来的版本中彻底移除:
-
group_replication_communication_stack -
group_replication_ip_allowlist(WL #17300)
-
InnoDB 存储引擎
-
断言修复:修复了针对非版本化(non-versioned)
ROW_FORMAT=REDUNDANT行在row_upd_rec_in_place()中的调试断言问题。(Bug #39165747) -
配置同步:在缓冲池(Buffer Pool)调整大小时,即使显式设置了
innodb_adaptive_hash_index=ON,自适应哈希索引(Adaptive Hash Index)也可能会在mysqld-auto.cnf中被误禁用的问题。(Bug #39157211) -
死锁与锁机制优化:在特定情况下,删除记录可能需要合并 B-tree 页面并更新其父页面。此前 InnoDB 可能会低估索引记录的大小,导致其以不安全的顺序获取页面锁(page latch),进而可能与并发的 B-tree 查询产生死锁。
-
改进:InnoDB 现在能够更准确地计算最大记录大小(包括前缀索引字段和空间
GEOMETRY索引)。这使其能够提前获取所需的锁,避免死锁产生。因此,部分超出官方文档规范限制的CREATE TABLE和ALTER TABLE语句现在会被正确地拒绝执行。(Bug #39129182)
-
-
维护清理:修复了一个与表维护和清理相关的问题。(Bug #39091376)
-
自增列修复:在某些特定情况下,向现有的表中添加
AUTO_INCREMENT列时,可能会跳过该表中的部分记录,导致AUTO_INCREMENT列生成的数值不准确。-
特别感谢:阿里巴巴团队的 Huaxiong Song 提供的贡献。(Bug #115136, Bug #37105825)
-
JSON 相关
-
修复了与 JSON Schema 验证相关的问题。(Bug #39489024)
MySQL 程序与工具
-
工具
mysql_tzinfo_to_sql过去会生成不必要的警告信息(例如:提示无法将/usr/share/zoneinfo/下的iso3166.tab、leap-seconds.list等文件加载为时区并跳过)。-
改进:自此版本起,这些无意义的警告将被抑制。
-
特别感谢:Daniël van Eeden 提供的贡献。(Bug #115021, Bug #36624161)
-
优化器 (Optimizer)
-
修复了在启用
subquery_to_derived的情况下与公用表表达式(CTE)相关的问题。(Bug #39179197) -
修复了
ExtractValue()函数中的一个问题。(Bug #39138426) -
修复了与动态扫描执行(dynamic scan execution)相关的问题。
-
特别感谢:阿里巴巴团队的 Mengchu Shi 提供的贡献。(Bug #38657550)
-
-
外连接性能优化:部分带有
OR条件的LEFT JOIN查询在EXPLAIN中显示使用了动态范围访问(dynamic range access),但在实际执行时仍对内表进行全表扫描。这是因为优化器在评估范围访问时未能识别符合条件的外连接谓词。-
改进:优化器现在会在动态范围分析中考虑这些谓词,从而允许符合条件的
LEFT JOIN查询针对每个外表行重新计划并使用索引范围扫描,避免重复扫描整个内表。 -
特别感谢:Hope Lee 提供的贡献。(Bug #113288, Bug #36061036)
-
性能 Schema (Performance Schema)
-
修复了与
OBJECT_INSTANCE_BEGIN列相关的问题。(Bug #39449066)
复制相关 (Replication)
-
修复了使用
REPLICATION_APPLIER执行客户端BINLOG时的问题。(Bug #39474825) -
修复了与心跳(heartbeat)处理相关的问题。(Bug #39377010)
-
在禁用了
log_replica_updates的可写副本(replica)上,并发的本地提交与应用线程(applier)工作可能会导致竞态条件(race condition)。(Bug #39259437) -
修复了与 Rotate 事件处理相关的问题。(Bug #39253359)
-
重连机制统一:配置了
SOURCE_RETRY_COUNT=0的复制接收端在后续发生瞬时连接中断后可能会停止工作,尽管SOURCE_RETRY_COUNT=0本应允许无限次重连尝试。这种不一致还可能导致接收端在退出时未记录额外的重连错误。-
改进:复制功能现在在所有重连路径中均统一将
SOURCE_RETRY_COUNT=0视为无限重连,使接收端能够在反复发生瞬态故障后继续重试并追上主库。(Bug #39086875)
-
-
修复了与复制错误处理相关的问题。(Bug #38924622)
-
包含显式空身份验证数据的
ALTER USER语句在重写写入二进制日志(binary log)时未保留空身份验证字符串,导致复制中出现password_expired错误。(Bug #38478657) -
如果复制通道使用特定应用用户进行配置,当该用户的
CREATE和DROP权限仅在特定数据库级别授予时,权限检查会失败。(Bug #37587555) -
Timestamp 生成列解析修复:如果禁用了
explicit_defaults_for_timestamp,在基于行的副本应用或通过mysqlbinlog重放时,根据NULL输入重新计算存储的生成列TIMESTAMP NOT NULL可能会导致副本中断并提示错误(如:Error_code: 1048; Column 'timestamp_col2' cannot be null)。-
改进:现在该行将使用字段默认值进行应用,并发出警告。(Bug #120128, Bug #39182574)
-
-
修复了与各种验证规则相关的若干问题。(Bug #39234600, Bug #38673268, Bug #38673285, Bug #38712932 等)
X Plugin
-
修复了 X Plugin 中的若干稳定性与逻辑问题。(Bug #39268692, Bug #39268863)
其他 Bug 修复 (Bugs Fixed)
-
修复了 Clone(克隆)插件中的若干问题。(Bug #39252316, Bug #39245805, Bug #39245844, Bug #39253040, Bug #39253103)
-
修复了在配置文件中定义了
innodb_redo_log_encrypt=ON时,无法在 Oracle Linux 或 Red Hat Linux 9 上正常启动 MySQL 服务器的问题。(Bug #39181231) -
修复了客户端消息中的某些波兰语字符会被误替换为问号 (
?) 的问题。(Bug #38036138) -
修复了表和元数据锁清理后执行表维护语句的错误处理问题。
-
特别感谢:腾讯团队的 Yin Peng 提供的贡献。(Bug #37797437)
-
-
修复了条件下推(condition pushdown)克隆阶段的依赖项问题:如果表达式涉及一个视图引用(同时也是外部引用)和一个本地引用,则在克隆条件时依赖项一致性检查会失败。通过优化
Item_ref在前缀与后缀遍历时的状态清理解决了该问题。(Bug #36368181) -
LOAD DATA 错误临时状态修复:在
LOAD DATA期间,解析输入行时字段可能会被临时标记为可空(nullable)。如果某行向NOT NULL列提供了NULL,LOAD DATA可能会将该临时NULL状态留在表字段上。后续在同一会话中执行的INSERT可能会误将有效的非 NULL 值当作 NULL 处理,并抛出ER_BAD_NULL_ERROR。-
特别感谢:Feng Chuanheng 提供的贡献。(Bug #118060, Bug #38939847)
-
-
内存管理优化:从包含数万个表、视图、存储过程/函数和事件的早期 8.x 版本进行升级时,服务器消耗的内存会持续增长,导致严重的内存峰值。在此版本中针对此类场景优化改进了内存分配策略。(Bug #117983, Bug #37832455, Bug #38031020)
-
关键字修正:
-
纠正了以下未被定义为保留关键字的词汇:
CUBE、EXTERNAL、QUALIFY、TABLESAMPLE。 -
纠正了以下未被定义为非保留关键字的词汇:
MANUAL、PARALLEL。(Bug #114874, Bug #36584265)
-
-
修复了
statement_digest()和statement_digest_text()函数中的内存泄漏问题。(Bug #104115, Bug #33073320)
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)