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 TABLEALTER 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.tableap-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)

  • 如果复制通道使用特定应用用户进行配置,当该用户的 CREATEDROP 权限仅在特定数据库级别授予时,权限检查会失败。(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 列提供了 NULLLOAD DATA 可能会将该临时 NULL 状态留在表字段上。后续在同一会话中执行的 INSERT 可能会误将有效的非 NULL 值当作 NULL 处理,并抛出 ER_BAD_NULL_ERROR

    • 特别感谢:Feng Chuanheng 提供的贡献。(Bug #118060, Bug #38939847)

  • 内存管理优化:从包含数万个表、视图、存储过程/函数和事件的早期 8.x 版本进行升级时,服务器消耗的内存会持续增长,导致严重的内存峰值。在此版本中针对此类场景优化改进了内存分配策略。(Bug #117983, Bug #37832455, Bug #38031020)

  • 关键字修正

    • 纠正了以下未被定义为保留关键字的词汇:CUBEEXTERNALQUALIFYTABLESAMPLE

    • 纠正了以下未被定义为非保留关键字的词汇:MANUALPARALLEL。(Bug #114874, Bug #36584265)

  • 修复了 statement_digest()statement_digest_text() 函数中的内存泄漏问题。(Bug #104115, Bug #33073320)

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐