
作者 | JiekeXu
来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT)
如需转载请联系授权 | (个人微信 ID:JiekeXu_DBA)
大家好,我是JiekeXu,江湖人称“强哥”,青学会MOP技术社区联合创始人,荣获Oracle ACE Pro称号,墨天轮MVP,墨天轮年度“墨力之星”,拥有Oracle OCP/OCM 认证,MySQL 5.7/8.0 OCP认证以及KCA、KCP、KCSM、PCA、PCTA、OBCA等众多国产数据库认证证书,今天和大家一起来看看 MySQL 8.4新特性深度解析:功能增强、废弃项与移除项全指南。欢迎点击下方“JiekeXu DBA之路”公众号名片可关注我的微信公众号,然后点击右上方三个点“设为星标”置顶,更多干货文章才能第一时间推送给你!后台回复【加群】,添加我个人微信拉你进群交流学习。

最近联合几个 Oracle ACE 技术专家 开通了一个付费微信群,都是具有10多年金融、医疗、制造业10年以上的一线专家,坑位费 399/人,无限期。加群后会有一些福利(分享各类技术文档,干货资源,AWR解答,内部文档代查,如何安装补丁方法非tire级别),更有特邀嘉宾会定期在群内直播,共建数据库内容知识库!有问题我们尽量都解答,毕竟399不能都解决所有问题。 有兴趣联系微:JiekeXu_DBA
内部知识库正在筹建中,不止有 Oracle!
算算下一顿馆子还多少钱呢?找个学习氛围好的技术群还是划算的!!
前 言
长周期支持版本 MySQL 8.4 自去年四月份发布以来经历一年的时间,也已经发布了五个版本,今天就让我们一起来看看这五个版本都有哪些新特性或功能增强,或者移除废弃的功能呢。
MySQL 8.4 LTS 长周期版本近一年来发布时间表
发布日期 | 版本 | 官方文档说明链接 |
2024-04-30 | 8.4.0 | https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-0.html |
2024-07-01 | 8.4.1 | https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-1.html |
2024-07-23 | 8.4.2 | https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-2.html |
2024-10-15 | 8.4.3 | https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-3.html |
2025-01-21 | 8.4.4 | https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-4.html |
2025-04-15 | 8.4.5 | https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-5.html |

从上面可以看出,8.0.X 以及 8.4.X 以及 9.7.X 这三个版本均是长周期支持版本,但 8.0.X 明年将会结束生命周期,下一个 LTS 版本是 8.4.X,那么这个版本虽然被广大的社区同仁所诟病,没有太多重大的新特性能拿出手,那么到底都有啥,一起来看看吧。
MySQL 8.4 系列版本(从 8.4.0 到 8.4.5)带来了多项技术改进,聚焦用户认证、存储引擎优化、复制增强及生态兼容性,但也伴随着部分功能的废弃与移除。本文结合官方发布说明,全面梳理新特性及需要注意的兼容性变化,助你高效评估升级价值。
一、核心新特性:从安全到性能的全方位优化
1. 用户认证与安全策略升级
• 原生密码认证插件默认禁用
MySQL 8.4 不再默认启用mysql_native_password认证插件,转而推荐使用更安全的caching_sha2_password(默认)或外部认证方式(如 LDAP、Kerberos)。若需兼容旧版客户端,需通过--mysql-native-password=ON显式启用。• Windows 平台 LDAP 认证增强
新增基于 SASL 的 LDAP 认证支持,无缝集成企业级身份管理系统,同时兼容 GSSAPI/Kerberos 协议,提升域环境下的权限管理效率。
2. InnoDB 存储引擎深度优化
• 动态资源分配适配容器环境
新增容器感知功能,自动识别 Docker/Kubernetes 环境的 CPU 和内存限制,动态调整innodb_buffer_pool_instances(默认根据 CPU 核心数和缓冲池大小计算)和innodb_io_capacity(默认提升至 10000,适配高速 SSD 存储),降低云部署的手动调优成本。• 数据一致性与恢复能力强化
innodb_undo_log_truncate策略优化,支持更细粒度的 undo 日志管理;CHECK TABLE EXTENDED增强空间索引校验,确保 GIS 数据的几何完整性。
3. 复制与高可用性改进
• 智能重试机制与 GTID 增强
SOURCE_RETRY_COUNT默认值从 3 提升至 10,减少网络波动导致的复制中断;支持标记 GTIDs(格式为UUID:TAG:NUMBER),便于区分事务组(需TRANSACTION_GTID_TAG权限),提升复杂集群的故障排查效率。• 克隆插件兼容性放宽
允许同系列不同点版本间的克隆(如 8.4.0 与 8.4.14),打破旧版必须完全版本匹配的限制,简化滚动升级流程。
4. 权限管理与开发工具链升级
• 细粒度权限控制
新增FLUSH_PRIVILEGES和OPTIMIZE_LOCAL_TABLE权限,避免SUPER权限滥用;SHOW PARSE_TREE支持以 JSON 格式查看 SQL 解析树,辅助调试复杂查询。• 备份工具兼容性增强
mysqldump --output-as-version支持生成兼容旧版本(如 5.7)的 SQL 文件,解决跨版本迁移的语法冲突;启动/关闭日志细化 InnoDB 初始化、插件加载等阶段信息,加速故障定位。
5. 查询优化与统计信息改进
• 子查询优化扩展
优化器支持将更多量化比较谓词(如>ANY、<ALL)转换为派生表连接,且优化范围从WHERE子句扩展到SELECT子句,复杂嵌套查询性能平均提升 15%-20%。• 自动更新直方图
新增AUTO UPDATE选项(默认启用),统计信息更新频率与数据变更频率动态对齐,避免陈旧统计信息导致的执行计划偏差。
二、废弃功能:这些“过时”特性即将被移除
1. 系统变量与配置选项
•
group_replication_allow_local_lower_version_join
允许低版本节点加入组复制集群的功能被废弃(计划在未来版本移除),推荐通过克隆插件实现版本统一的集群部署。•
expire_logs_days替代为binlog_expire_logs_seconds
旧版基于天数的二进制日志过期配置被弃用,改用更精确的秒级控制(binlog_expire_logs_seconds默认 604800 秒,即 7 天),需手动迁移配置。•
--character-set-client-handshake兼容性选项
用于兼容旧版客户端字符集协商的选项被标记为废弃,未来版本将强制使用标准化字符集握手流程。
2. 复制语法与函数
•
WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS()函数
建议改用更灵活的WAIT_FOR_EXECUTED_GTID_SET(),前者将在后续版本中移除。• 权限通配符模糊匹配调整
数据库权限中的%和_通配符未来将视为字面量(不再支持模糊匹配),当前版本默认启用严格模式(需通过sql_mode=NO_AUTO_CREATE_USER禁用旧逻辑)。
3. 非标准外键限制
启用 restrict_fk_on_non_standard_key=ON(默认),禁止在非唯一键或部分键上创建外键(如仅引用主键部分列),需显式设置 --restrict-fk-on-non-standard-key=OFF 才能兼容旧版非标准外键设计。
三、移除功能:这些特性已从 8.4 中彻底删除
1. 系统变量与选项
•
binlog_transaction_dependency_tracking
基于写入集的事务依赖跟踪功能被移除,不再支持WRITESET和WRITESET_SESSION模式,统一采用COMMIT_ORDER模式提升复制性能。•
default_authentication_plugin简化认证配置
替代为更灵活的authentication_policy,旧变量不再生效,需通过--default-authentication-plugin直接指定认证插件(如caching_sha2_password)。•
--ssl和--admin-ssl选项
改用--tls-version和--admin-tls-version控制加密协议版本,旧选项不再识别。
2. 复制术语与语法重构
• 统一复制术语为“源-副本”模型
CHANGE MASTER TO改为CHANGE REPLICATION SOURCE TO,SHOW SLAVE STATUS改为SHOW REPLICA STATUS,旧语法报错并强制要求迁移。• 移除
MASTER_*系列选项MASTER_HOST、MASTER_PASSWORD等旧版参数被SOURCE_HOST、SOURCE_PASSWORD替代,需更新所有复制配置文件及客户端工具。
3. 插件与工具调整
•
authentication_fido插件淘汰
替换为支持 FIDO2 标准的authentication_webauthn,提供更强的无密码认证能力,旧插件不再随服务端分发。•
mysql_ssl_rsa_setup工具移除
服务器启动时自动生成 SSL/RSA 证书和密钥,无需手动调用工具,避免证书管理混乱。
4. 语法与数据类型限制
• 禁止
AUTO_INCREMENT用于浮点列
创建FLOAT/DOUBLE类型字段并添加AUTO_INCREMENT修饰符时会直接报错,仅支持整数类型自增。•
FLUSH HOSTS语句废弃
改用TRUNCATE TABLE performance_schema.host_cache清理主机缓存,旧语句不再执行任何操作。
四、升级建议:平稳过渡的关键步骤
1. 兼容性评估
• 检查是否依赖被移除的复制语法(如
MASTER_*)、废弃的系统变量(如expire_logs_days)或非标准外键设计,提前修改代码和配置。• 使用
SHOW WARNINGS或慢日志监控升级后潜在的语法报错,重点关注权限通配符和认证插件的兼容性问题。
2. 分阶段测试
• 在预生产环境验证
mysqldump --output-as-version的备份恢复能力,确保跨版本兼容性;测试容器环境下 InnoDB 的自动资源分配是否符合预期。• 针对复制集群,验证标记 GTID 和组复制主选举策略的稳定性,避免升级后出现复制延迟或脑裂问题。
3. 安全与权限适配
• 若需保留
mysql_native_password认证,显式启用并限制仅旧版客户端使用;优先迁移至 LDAP/Kerberos 等更安全的认证方式。• 按最小权限原则分配
FLUSH_PRIVILEGES和OPTIMIZE_LOCAL_TABLE权限,减少SUPER权限滥用风险。
总结:8.4 是“渐进式升级”而非“颠覆式变革”
MySQL 8.4 的核心价值在于对云原生、容器化环境的深度适配(如 InnoDB 动态资源分配、克隆插件兼容性),以及细粒度权限管理和复制可靠性的增强。然而,废弃和移除功能带来的迁移成本不可忽视,尤其是依赖旧版复制语法、非标准外键或特定认证方式的用户,需投入精力调整架构。
推荐升级场景:
• 正在部署云原生数据库集群的企业,需利用 InnoDB 容器感知和克隆插件提升运维效率;
• 重视权限安全和审计的团队,可借助新增权限和认证策略强化管控;
• 使用复杂子查询或需要跨版本迁移的开发者,子查询优化和
mysqldump兼容性特性值得升级。
谨慎升级场景:
• 依赖
mysql_native_password认证且无法快速迁移客户端的旧系统;• 大量使用非标准外键或旧版复制语法(如
MASTER_*)且尚未完成代码改造的项目。
随着数据库技术向分布式、智能化演进,MySQL 8.4 更像是一次“稳扎稳打的补丁”,而非“突破性创新”。建议结合自身架构需求,优先在非核心业务验证升级效果,确保新旧功能平滑过渡。
参考链接
https://dev.mysql.com/doc/refman/8.4/en/mysql-releases.html https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-0.html https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-1.html https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-2.html https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-3.html https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-4.html https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-5.html全文完,希望可以帮到正在阅读的你,如果觉得有帮助,可以分享给你身边的朋友,同事,你关心谁就分享给谁,一起学习共同进步~~~
欢迎关注我的公众号【JiekeXu DBA之路】,一起学习新知识!
——————————————————————————
公众号:JiekeXu DBA之路
墨天轮:https://www.modb.pro/u/4347
优快云 :https://blog.youkuaiyun.com/JiekeXu
ITPUB:https://blog.itpub.net/69968215
腾讯云:https://cloud.tencent.co/developer/user/5645107
——————————————————————————
2024 年公众号 JiekeXu DBA之路历史文章合集
2023 年公众号 JiekeXu DBA之路历史文章合集
2022 年公众号 JiekeXu DBA之路历史文章合集
2021 年公众号历史文章合集
686

被折叠的 条评论
为什么被折叠?



