2025 年 7 月 22 日,MySQL 9.4.0 正式发布。
作为一个创新版,MySQL 9.4.0 最大的创新应该就是使用 Oracle HeatWave GenAI 作为助手帮助编写版本发布说明了。难道下一步要开始用 AI 辅助编写数据库文档了?
该版本包含的核心功能更新以及问题修复如下:
- 字符集与排序规则改进:修复了 IFNULL() 在 LIKE 子句中因排序规则推导冲突导致的 ER_CANT_AGGREGATE_2COLLATIONS 错误。调整了排序规则推导优先级(NONE 优先级降至最低),确保表达式兼容性;重命名 IGNORABLE 推导为 NULL,并优化了排序规则聚合逻辑,减少对现有功能的影响
- 编译与依赖升级:编译器要求最低 GCC 11,RHEL 9 构建环境升级至 GCC 14;CMake 支持最低版本要求为 3.14.6,新增对 CMake 4 的兼容性;libcurl 依赖库升级至 8.14.12,ICU 库升级至 77-1,zstd 升级至 1.5.7;修复 macOS/M1 平台的内存对齐问题,支持 Kerberos 编译选项;停止支持 ARM 架构的 RHEL 7。
- 配置调整:back_log 参数默认值从 151 增至 10000,提升高并发连接处理能力;新增 server_memory 参数,限制 MySQL 实例使用的最大物理内存。
- 安装支持:新增对 RHEL 10 和 Oracle Linux 10 的 RPM/Yum 仓库支持。
- 日志增强:无论日志级别如何,错误日志均强制记录服务器的逻辑 CPU 总数和物理内存大小。
- 组复制:新增错误码 ER_GRP_RPL_APPLIER_THD_KILLED,明确区分应用程序线程被 SQL KILL 终止与因错误停止的情况。
- 其他修复:修复了生成列表达式在非 UTF-8 客户端字符集(例如 GBK)下的语法错误;优化 Clang 20 编译时的警告处理,减少构建干扰;组复制构建流程的稳定性改进。
MySQL 9.4.0 创新版主要聚焦于底层编译适配、字符集兼容性、内存管理精细化及操作系统支持扩展,同时强化了诊断日志的透明度。生产环境仍推荐优先采用 LTS 版本(例如 8.4.x),而此版本适合需要尝鲜新特性或深度定制 MySQL 的团队。
完整的发布说明可以查看官方文档:
https://dev.mysql.com/doc/relnotes/mysql/9.4/en/news-9-4-0.html