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)

相关推荐
198******126342 小时前
2026企业AI办公工具选型指南:从评估框架到场景适配
大数据·运维·人工智能
2601_967212722 小时前
专利型电源轨道系统技术路线对比与选型框架
大数据·运维·网络·经验分享
数字化顾问3 小时前
(138页PPT)流程体系的建设优化与运营(附下载方式)
大数据·运维·人工智能
织码weavecodes4 小时前
培训平台部署备份与容灾:从三服务交付到可恢复运行
大数据·学习·开源软件
天涯明月19934 小时前
世界模型:原理、范式与工程实践
大数据·人工智能·大模型·具身智能·世界模型
梦想画家6 小时前
SQLMesh Python 模型入门(三):前后置语句、蓝图建模与避坑指南
大数据·python·sqlmesh
和裕6 小时前
年度框架直供 vs 零散按需采购:定制纸箱采购成本、交付与服务核心区别全对比
大数据·运维·网络·人工智能·算法
小马同学-6 小时前
mysql数据库原理
数据库·mysql
具身AGI7 小时前
ARR还是交付量,物理AI 国产 的三种收入口径
大数据·人工智能
计算机源码社7 小时前
基于大数据技术的城市空气质量时序趋势与站点特征分析系统 面向监测站点的城市空气污染时空异质性分析与可视化系统
大数据·机器学习·数据挖掘·数据分析·毕业设计·课程设计·数据可视化