MySQL 9.5创新版发布,有哪些新功能?

2025 年 10 月 21 日,MySQL 9.5 创新版正式发布,增加了大量与提升性能、安全性、可管理性以及开发体验相关的新功能。

以下是部分新功能的介绍,完整说明可以参考官方文档:

https://dev.mysql.com/doc/relnotes/mysql/9.5/en/news-9-5-0.html

安全性增强

  • 默认加密复制连接:所有复制通道(包括组复制和恢复通道)默认启用 SSL/TLS 加密,极大地提升了数据同步过程中的安全性。
  • 增强的身份验证:caching_sha2_password_digest_rounds 参数的默认值从 5000 增加到 10000,增加了暴力破解的难度。
  • 弃用弱加密算法:SCRAM-SHA-1 认证方法被标记为弃用,推荐使用更安全的 SCRAM-SHA-256。
  • 连接控制增强:可以配置是否对未知用户(无用户名的连接尝试)进行连接延迟惩罚,能够更好地适应负载均衡器等场景,防止误伤。

性能与可扩展性

  • 二进制日志依赖跟踪优化:binlog_transaction_dependency_history_size 参数的默认值从 25000 增加到 1000000,最大值支持 10000000。这个调整改善了基于 WRITESET 的复制并行度,可以减少副本延迟,尤其是在高并发负载下。
  • InnoDB 日志写入器线程智能化:innodb_log_writer_threads 的默认值现在根据是否启用二进制日志和逻辑 CPU 的数量动态决定,可以为不同规模的系统提供最优的默认配置。
c 复制代码
if (log_bin = OFF)
{
  if ([number of logical CPUs] <= 4)
  {
    innodb_log_writer_threads = OFF
  }
  else
  {
    innodb_log_writer_threads = ON
  }
}
else
{
  if ([number of logical CPUs] <= 32)
  {
    innodb_log_writer_threads = OFF
  }
  else
  {
    innodb_log_writer_threads = ON
  }
}

如果明确设置了该参数的值,不会受到默认值影响。

  • 变更缓冲优化:innodb_change_buffering 的默认值修改为 ALL,这样意味着所有类型的二级索引写入都可以被缓冲,从而减少磁盘 I/O。
  • 优化器改进:引入了针对 DATE 和 DATETIME 类型的独立评估函数以优化性能,并且改进了查询摘要计算,能够更好地区分具有不同特征的相似查询。

管理与运维

  • MySQL 诊断监视器:该版本引入了全新的客户端工具 mysqldm,用于自动收集服务器诊断信息并且输出 JSON 文件,方便提供给 Oracle 支持团队或者用于自行分析。
  • 线程池自动配置:线程池插件现在能够自动检测系统硬件(例如 vCPU 的数量)并且设置最优的默认参数,同时能够自动验证和纠正错误配置,降低了调优的难度。
  • 角色管理增强:引入了 activate_mandatory_roles 选项,提供了更灵活的角色激活控制。
  • 多版本并行安装:支持不同创新版和 LTS 版的并行(Side-by-Side)安装,便于功能测试和版本迁移。
  • 配置与管理:新增 sys.revoke_schema_privileges_from_all_accounts_except() 存储过程,用于批量撤销 schema 权限。同时,遥测相关的系统变量默认改为 disable,并且移除了可能不安全的默认端点值,避免了日志垃圾信息问题。

开发与功能

  • JSON 二元视图:提供了在关系型表和无模式 JSON 文档之间的双向实时映射关系。开发人员可以像操作 JSON 文档一样操作数据库记录,同时获得关系型数据库的 ACID 特性。
  • JavaScript 支持升级:升级至 ECMAScript 2025 标准;增加了从 JavaScript 存储过程调用 SQL 时的结果集大小限制;mle.memory_max 变量支持基于总物理内存的自动配置。
  • 空间数据与 GeoJSON:ST_AsGeoJSON 函数现在会在输出结果中自动包含坐标参考系统信息,确保了几何数据在 JSON 表示中的准确性。
  • 组件与插件更新:弃用 keyring_okv 插件,由基于 KMIP 1.1 协议的 keyring_kmip 组件替代,从而支持更广泛的密钥管理服务。遥测组件引入了秘密解码服务,用于安全地处理 OpenTelemetry 的头部信息。

弃用与移除

  • 移除已弃用项:彻底移除了 group_replication_allow_local_lower_version_join、replica_parallel_type 等之前已经标记为弃用的变量和插件。
  • 插件替换:移除了旧的 semisync_master 和 semisync_slave 插件,由名称更准确的 semisync_source 和 semisync_replica 替代。
相关推荐
2301_7679026416 小时前
MySQL 入门
数据库·mysql
7ioik16 小时前
说一说MySQL数据库基本架构?
数据库·mysql·架构
@淡 定16 小时前
Redis持久化机制
数据库·redis·缓存
云老大TG:@yunlaoda36017 小时前
华为云国际站代理商DAS的跨境合规适配是如何保障数据合规的?
网络·数据库·华为云
TG:@yunlaoda360 云老大17 小时前
华为云国际站代理商HiLens的技术优势对跨境客户有哪些具体帮助?
服务器·数据库·华为云
+VX:Fegn089517 小时前
计算机毕业设计|基于springboot + vue健身房管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
东东的脑洞17 小时前
【面试突击】MySQL 查询优化核心面试知识点
mysql·面试·职场和发展
Leon-Ning Liu17 小时前
当SGA大于hugepage的时候,Oracle数据库是怎么使用hugepage的
数据库·oracle
马克学长17 小时前
SSM校园二手交易系统aqj3i(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·javaweb 开发
利剑 -~17 小时前
letcode数据库题联系
数据库