MySQL 9.5创新版于2025年10月21日正式发行,让我们一起快速浏览一下该版本有哪些特性。
MySQL 9.5在账号管理、性能优化、安全性、功能扩展等多个核心领域都有重要更新,其核心是提升管理灵活性、运行性能与安全合规性。
一、账号与权限管理增强
新增强制角色激活功能,通过 activate_mandatory_roles
选项控制强制角色的激活逻辑。当activate_all_roles_on_login
关闭,且该选项开启时,账号会自动激活强制角色与默认角色,默认情况下该选项处于启用状态。连接控制组件新增配置项,通过 component_connection_control.exempt_unknown_users
系统变量,可设置是否对无用户凭证的失败连接,豁免延迟惩罚,同时新增状态变量Component_connection_control_exempted_unknown_users
用于统计豁免连接数,兼顾安全与负载均衡场景需求。
二、性能优化与配置调整
- 二进制日志优化
binlog_transaction_dependency_history_size
系统变量默认值从 25000 提升至 1000000,最大值从 1000000 增至 10000000,优化大事务场景下的依赖管理。 - InnoDB 优化
innodb_log_writer_threads
默认值根据二进制日志启用状态和 CPU 数量动态调整,例如,二进制日志关闭且逻辑 CPU≤4 时默认关闭该功能;innodb_change_buffering
默认值改为ALL
,提升二级索引更新效率。 - 线程池自动配置
线程池插件可根据服务器硬件(VCPU 数量)自动设置 thread_pool_size
等 5 个核心变量的最优默认值,还能验证并修正错误配置,减少人工调优成本。
三、安全性提升
- 认证安全增强
caching_sha2_password_digest_rounds
默认值提升至 10000,加强密码哈希安全性;SCRAM-SHA-1
认证方式 deprecated,默认认证方式改为SCRAM-SHA-256
,同时更新对应系统变量默认值。 - 复制安全默认启用
所有复制连接默认开启加密, SOURCE_SSL
默认值设为 1,group_replication_ssl_mode
默认改为REQUIRED
,group_replication_recovery_use_ssl
默认开启,降低数据传输风险。 - 密钥管理升级
component_keyring_kmip
和keyring_okv
支持 Oracle Key Vault 21.10 + 的SECRET
密钥类型;keyring_okv
插件 deprecated,由keyring_kmip
组件替代,兼容更多 KMIP 1.1 协议的密钥管理产品。
四、功能扩展与兼容性改进
- JavaScript 支持升级
JavaScript 存储过程的 SQL 调用结果集大小限制提升,支持更大数据量;MLE 组件遵循 ECMAScript 2025 规范,同时支持处理含冗余 / 相对目录的文件路径, mle.memory_max
变量可根据物理内存自动配置(5% 占比,0.4GB-32GB 范围)。 - JSON 功能优化
修复大精度浮点数 JSON 解析校验错误、TIME 值转 JSON 缩小问题;JSON Duality Views 完善 DML 操作逻辑,禁止删除嵌套子对象的单例子项,修复含子查询 WHERE 条件创建视图时的断言失败问题。 - 新增诊断工具
引入 MySQL Diagnostic Monitor(mysqldm)客户端工具,可预设查询收集服务器诊断信息并以 JSON 格式存储,支持自定义输出目录、迭代次数和间隔,便于问题排查。
五、其他重要更新
- 系统变量与插件调整
移除 group_replication_allow_local_lower_version_join
、replica_parallel_type
等 deprecated 变量,以及semisync_master
、semisync_slave
插件,由新插件替代;explain_format
默认值从TRADITIONAL
改为TREE
,优化执行计划展示。 - 编译与打包优化
Solaris 平台支持 Clang 和 GCC 编译,默认使用 OpenSSL 3;升级 bundled 的 googletest、libbacktrace 库版本,CMake 最低要求版本提升至 3.17.5,同时支持选择 bundled 或系统 libzip 库编译。 - sys Schema 增强
revoke_schema_privileges_from_all_accounts_except()
存储过程默认安装,可批量撤销某 schema 权限(排除指定账号),简化权限管理操作。
总结了一份MySQL 9.5.0 新特征分类对照表,表格会清晰列出特征类别、关键变更及影响,方便大家快速查阅和对比旧版本差异。
MySQL 9.5.0 新特征分类对照表
activate_mandatory_roles选项,支持强制角色激活2. 新增 component_connection_control.exempt_unknown_users变量,豁免未知用户连接延迟惩罚3. 新增 Component_connection_control_exempted_unknown_users状态变量 | ||
binlog_transaction_dependency_history_size默认值从 25000→1000000,最大值从 1000000→100000002. innodb_log_writer_threads按 log_bin状态和 CPU 数动态调整默认值3. 线程池自动根据 VCPU 数配置 thread_pool_size等 5 个变量 | ||
caching_sha2_password_digest_rounds默认值→100002. 复制连接默认加密, SOURCE_SSL默认 = 1, group_replication_ssl_mode默认 = REQUIRED3. keyring_okv插件 deprecated,由 keyring_kmip替代 | ||
group_replication_allow_local_lower_version_join等 2 个变量,移除 semisync_master等 2 个插件2. explain_format默认值从 TRADITIONAL→TREE3. innodb_change_buffering默认值从 DEFAULT→ALL | ||
revoke_schema_privileges_from_all_accounts_except()存储过程默认安装2. 修复 sys.ps_trace_thread存储过程错误处理问题 | ||
SCRAM-SHA-1认证方式 deprecated, authentication_ldap_sasl_auth_method_name默认→SCRAM-SHA-2562. component_keyring_kmip支持 Oracle Key Vault 21.10 + 的 SECRET 密钥类型 |
文章转载自MySQL解决方案工程师,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




