MySQL 2025 January GA Releases 都发布了啥功能[译]
这个一月份的发布是自MySQL宣布转向新的LTS(长期支持)/创新发布模式以来的第四个LTS版本和第三个创新版本。更多详情请参阅《MySQL发布:创新与LTS》。
在创新周期内,MySQL 9.x的季度发布将包含新功能、弃用和移除项以及错误修复。
9.x版本还包括Shell、Router、连接器和客户端。
MySQL数据库管理员、开发者和用户应迁移至支持9.x创新版本、8.4 LTS版本和8.0版本的最新9.x正式版连接器和客户端。
MySQL持续保持每三个月发布一次的节奏。
在2025年4月的时间框架内,预计将发布:
仅包含错误和安全修复的版本:
MySQL 8.4.5 LTS
MySQL 8.0.42
创新版本:
MySQL 9.3.0 创新版
MySQL Server 9.2.0 创新版正式发布包含:
新功能、错误和安全修复
MySQL Server 8.4.4 LTS 正式发布包含:
错误和安全修复
MySQL Server 8.0.41 正式发布包含:
错误和安全修复
升级指南
鼓励客户从MySQL Server 8.0.x迁移至最新的8.4.x LTS版本,当前为8.4.4。
希望探索新功能和特性的客户,建议升级至MySQL 9.2 创新版。
MySQL Server 9.2 亮点
MySQL社区版:安全性
新增动态权限 - CREATE_SPATIAL_REFERENCE_SYSTEM
允许用户使用以下命令创建或修改空间参考系统(SRS):
CREATE SPATIAL REFERENCE SYSTEM
CREATE OR REPLACE SPATIAL REFERENCE SYSTEM
DROP SPATIAL REFERENCE SYSTEM
之前,用户需要SUPER权限才能更改SRS
MySQL社区版:OpenSSL性能提升
提升了MySQL Server的性能
现采用OpenSSL 3.x特定API
OpenSSL 3.x向后兼容API性能不如新3.0 API
MySQL社区版:连接控制
将连接控制从插件迁移至组件
连接控制插件现已弃用,未来将被移除
MySQL社区版:Router - 增强的元数据缓存连接处理
在MySQL Router 9.2之前,元数据缓存连接频繁开关,默认TTL为0.5秒,导致:
服务器负载增加:
频繁连接尝试使服务器审计日志充满记录。
大量连接处于TIME_WAIT状态,消耗服务器资源。
当服务器达到max_connections限制时,客户端套接字关闭,影响应用可用性。
性能下降:
频繁连接尝试消耗大量CPU资源用于TLS握手建立。
9.2及之后版本的连接处理改进:
为解决这些问题,MySQL Router 9.2引入重大改进:
持久连接:默认情况下,元数据缓存的连接尽可能保持开启。
默认设置为close_connection_after_refresh=0
资源消耗减少:持久连接显著降低服务器负载,提升性能,节约资源。
重连行为(可选):
在需要旧重连行为的特定场景中,可显式设置close_connection_after_refresh参数为1以恢复之前的TTL行为。
但需谨慎使用,可能对服务器性能和稳定性产生负面影响。
MySQL社区版:Router
支持通过Unix Socket连接到Router
例如在router配置中:
local:/tmp/mysql.sock
相比本地TCP/IP连接,性能更优
MySQL社区版:Shell - 增强的SQL兼容性
MySQL Shell在升级操作中利用目标服务器的SQL语言版本。
此增强功能实现:
改进的兼容性检查:
检测可能使用目标服务器版本中已更改或移除SQL语法的例程、触发器和事件。
提升升级准确性:
通过考虑目标环境的特定SQL方言,提供更准确可靠的升级评估。
MySQL企业版:组复制
新增:自动识别并缓解由副本延迟和组内资源耗尽引发的问题。
保护组免受资源耗尽的预防:
自动移除资源短缺的成员,防止全组资源耗尽。
延迟服务器检测与驱逐:
持续监控次级服务器应用性能(延迟、过度交换)。
驱逐问题服务器以保持高可用性。
资源利用率阈值:
定义关键资源利用率(如CPU、内存)的阈值。
根据预设标准触发相应操作(如驱逐、警报)。
容错:
尽管存在故障或问题成员,仍保持运行。
确保服务不间断。
重启成员的隔离期:
为重启成员实施隔离期。
在可能驱逐前给予充分同步时间。
完善优雅故障处理:
优雅处理成员故障,最小化服务中断。
通过结合新的检测和移除受影响成员与现有的自动重连机制,实现自我修复:
自动重连机制:
允许被驱逐成员解决问题后自动重新加入组。
恢复全组参与。
自我配置与重连:
使被驱逐成员能自动配置自身并重新加入组。
最小化停机时间,维持全组运行。
MySQL Server企业版:选项及选项使用追踪器
选项追踪器允许追踪服务器内特性和选项的使用情况,包括服务器和客户端特性。
追踪器组件
追踪器表
MySQL Server企业版:JavaScript增强
第三方库支持:
新特性允许用户直接在数据库内存储第三方JavaScript库。
简化在存储例程中使用外部库的过程。
库通过CREATE LIBRARY语句定义
例如,此处库函数"buzz"在JAVASCRIPT中定义,随后从"foo"调用
CREATE LIBRARY bar LANGUAGE JAVASCRIPT
AS $$
export function buzz(x) {
return x;
}
$$;
CREATE FUNCTION foo(arg INT) RETURNS INT LANGUAGE JAVASCRIPT
USING (bar)
AS $$
return bar.buzz(arg);
$$;
mysql> SELECT foo(42);
+---------+
| foo(42) |
+---------+
| 42 |
+---------+
1 row in set (0.06 sec)
增强的数据类型支持:
新增对JavaScript存储程序和函数中ENUM和SET数据类型的支持。
为与数据库数据交互提供了更大的灵活性和兼容性。
MySQL Connectors C++、ODBC:选择WebAuthn认证设备的选项
MySQL Server 9.1及更高版本支持的WebAuthn,可实现Windows Hello认证。
如果Windows计算机上存在多个认证设备(例如指纹识别器和YubiKey),此增强功能允许用户显式选择所需的WebAuthn认证设备进行身份验证。
我们还发布了MySQL客户端、工具和连接器的9.2版本。
无论服务器版本如何,请始终使用最新版本的MySQL客户端、工具和连接器。
这些9.2版本的客户端、工具和连接器支持MySQL Server 8.0、8.4 LTS和9.2创新版。
一如既往,感谢您使用MySQL!
翻译ORACLE官方文档博客地址:https://blogs.oracle.com/mysql/post/mysql-january-2025-ga-releases-now-available
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)