MySQL 9.4.0 正式发布,支持 RHEL 10 和 Oracle Linux 10
2025 年 7 月 22 日,MySQL 9.4.0 创新版本、MySQL 8.4.6 长期支持版本、MySQL 8.0.43 发布。
(原计划 7 月 15 日更新,延期了一周)
本次发布亮点
私以为,本次发布最大亮点不在于新增特性、更新依赖、修复问题,而是在于官方文档中第一次显式说明是在 HeatWave GenAI 协作下完成。
Oracle HeatWave GenAI 通过数据库内大语言模型 (LLM)、自动化和安全的数据库内向量存储、横向扩展向量处理、基于自然语言的情境化对话功能提供集成、自动化的生成式 AI 支持,让您无需移动数据和支付额外成本就能充分利用生成式 AI — 即使您不具备 AI 专业知识。
使用 HeatWave GenAI 前,你需要准备 HeatWave MySQL 9.0.0 以上版本,并启用 HeatWave Lakehouse 功能。
HeatWave MySQL 是基于 MySQL Enterprise Edition 构建的 MySQL 云技术服务。HeatWave Cluster 作为内存加速器,可显著提高查询性能。它还提供高级机器学习 (ML)、生成式人工智能 (GenAI)、向量存储和 Lakehouse 功能。HeatWave Cluster 由一个或多个 HeatWave 节点组成。当数据从数据库系统或对象存储加载到 HeatWave Cluster 时,数据会被分片并分布到 HeatWave 节点之间。
MySQL 9.4.0
本次更新涵盖多方面重要调整。在字符集支持上,解决了 IFNULL()
在LIKE
子句中因排序规则推导导致的错误,并调整了排序规则相关机制。编译方面,升级了多个依赖库(如 libcurl、ICU、zstd),明确了编译器版本要求(GCC 11 及以上),并优化了编译配置。配置层面,调整了back_log
默认值,新增server_memory
参数控制内存使用。
以下是主要内容
1. 字符集
在LIKE子句中使用IFNULL()会引发ER_CANT_AGGREGATE_2COLLATIONS错误。这是因为IFNULL()返回二进制排序规则,且排序规则推导为NONE,但在此场景下NONE不被允许,从而导致错误。
我们通过略微调整语义来解决此问题:将排序规则推导NONE的优先级降低,使其低于其他任何排序规则推导的优先级。这意味着,当使用推导为NONE的表达式时,LIKE将由另一个操作数决定比较所使用的排序规则。这对现有功能的影响应极小,且无需修改我们现有的测试套件。
2. 编译
MySQL 服务器现已支持 CMake 4,构建 MySQL 所支持的 CMake 最低版本是 3.14.6。
MySQL Server 现在需要 GCC 版本 11 或更高版本才能进行编译。
在 RHEL 9 上,MySQL 服务器现在使用 GCC 14 构建。
3. 配置
back_log 的默认值增加至 10000。
现在可以使用 server_memory 来限制 MySQL 服务器在确定配置变量的默认值时使用的最大物理内存量。
4. 安装
Red Hat Enterprise Linux 和 Oracle Linux 10 现支持 RPM 和 Yum 存储库安装。
5. 日志
MySQL 服务器现在会在错误日志中记录服务器可用的逻辑 CPU 总数和物理内存。无论日志的详细程度如何,这些信息都会被记录下来。
[System] [MY-015590] [Server] MySQL Server has access to 4 logical CPUs.
[System] [MY-015590] [Server] MySQL Server has access to 8023748608 bytes of physical memory.
6. 组复制
Group Replication:新增错误ER_GRP_RPL_APPLIER_THD_KILLED,用于区分应用程序线程是通过 SQL KILL 终止的,还是因错误而停止的。(Bug #37764717)
更多详细内容请参阅官方文档:
https://dev.mysql.com/doc/relnotes/mysql/9.4/en/news-9-4-0.html
Have a nice day ~ ☕
想了解更多资讯
扫码关注👇
了解更多考试相关
扫码添加上智启元官方客服微信👇