大家好,我是 JiekeXu,江湖人称“强哥”,青学会 MOP 技术社区主席,荣获 Oracle ACE Pro 称号,墨天轮 MVP,墨天轮年度“墨力之星”,拥有 Oracle OCP/OCM 认证,MySQL 5.7/8.0 OCP 认证以及 PCA、PCTA、OBCA、OGCA、金仓KCA、KCP 等众多国产数据库认证证书,今天和大家一起来看看MySQL 9.3 正式 GA,我却大失所望,新特性亮点与隐忧并存?欢迎关注我的微信公众号“JiekeXu DBA之路”,然后点击右上方三个点“设为星标”置顶,更多干货文章才能第一时间推送,谢谢!
前 言
2025 年 4 月 15 日晚,MySQL 9.3 版本正式 GA(General Availability),作为备受期待的年度更新,官方宣传其在用户管理、开发工具链、高可用性等方面实现了多项改进。然而,在查看官方文档新特性后,不难发现这次更新更多是「挤牙膏」式的增量优化,核心创新不足、企业版功能割裂以及社区版用户权益受限等问题,难免让期待突破性变革的开发者感到失望。向量、AI 相关的特性等了一年了,我是没有看到,小伙伴们看到了吗?
一、用户管理与备份:精细化操作的进步与局限
新特性亮点
MySQL 9.3为数据库管理员带来了更精细的用户账户管理工具。mysqldump
新增的--users
系列选项,支持导出用户账户的逻辑备份,可生成包含CREATE USER
和GRANT
语句的脚本,同时通过--include-user
和--exclude-user
实现对特定账户的精准过滤。这对于多租户环境下的权限迁移、灾备恢复场景非常实用,避免了手动编写用户权限脚本的繁琐。
失望点
这一功能本质上是对现有备份工具的补完,并未解决用户管理的核心痛点。例如,依然缺乏可视化的权限分析工具,管理员仍需依赖命令行和脚本处理复杂权限场景。且该功能仅提升了备份效率,未涉及权限审计、动态权限管理等更关键的企业级需求,对大型团队而言价值有限。
二、JavaScript生态增强:企业版的「专属盛宴」
新特性亮点
针对使用JavaScript开发存储程序的用户,MySQL 9.3带来了多项改进:
- DECIMAL类型支持:JavaScript存储程序首次完整支持
DECIMAL
数据类型,默认转换为String保持精度,也可通过配置转为Number,解决了此前数值类型处理的兼容性问题。 - 本地化与国际化:通过
Intl
对象支持MySQL locale设置,开发者可在JavaScript中实现日期、数字的本地化格式化,例如将sv_SE
转换为sv-SE
格式,满足全球化应用需求。 - 库管理增强:
ALTER PROCEDURE
和ALTER FUNCTION
支持动态修改导入库列表,新增SHOW LIBRARY STATUS
语句便于监控JavaScript库状态,提升了开发调试效率。
失望点
所有JavaScript相关特性均依赖MySQL企业版的多语言引擎组件(MLE),社区版用户无法使用。这意味着中小型团队和个人开发者无法享受这些便利,进一步加剧了社区版与企业版的功能割裂。此外,JavaScript存储程序的应用场景本身较窄,对主流的Java、Python开发生态影响有限,难以成为吸引用户升级的核心卖点。
三、高可用性与复制:渐进式优化下的「换汤不换药」
新特性亮点
在高可用性领域,MySQL 9.3推出了组复制主选举组件,当主节点故障时,该组件会优先选择事务延迟最小的从节点提升为主节点,确保数据一致性。通过状态变量Gr_latest_primary_election_by_most_uptodate_members_trx_delta
和时间戳Gr_latest_primary_election_by_most_uptodate_member_timestamp
,管理员可精准监控选举过程。此外,InnoDB存储引擎新增容器感知的资源分配,根据容器的CPU和内存限制动态调整默认配置,提升了云环境下的部署灵活性。
失望点
组复制功能自5.7版本推出以来,一直面临配置复杂、性能损耗等问题,此次更新并未解决核心架构缺陷,仅在选举策略上做了优化。对于依赖传统主从复制的用户而言,新组件的学习成本较高,且实际生产环境中,因网络分区等复杂场景导致的选举失败问题仍需人工介入。此外,replica_parallel_workers
最小值强制设为1,移除了0
的选项,可能对旧版迁移用户造成兼容性困扰。
四、查询优化与性能:细节改进难掩创新乏力
新特性亮点
查询优化器的改进是本次更新的另一重点:
- 子查询优化扩展:支持更多量化比较谓词(如
>ANY
、<ALL
等)转换为派生表连接,且优化范围从WHERE
子句扩展到SELECT
子句,提升了包含子查询的复杂查询性能。 - InnoDB性能修复:修复了空间索引校验、悲观锁冲突等多个潜在崩溃问题,通过
CHECK TABLE EXTENDED
验证空间索引的MBR一致性,增强了数据完整性。
失望点
这些改进均属于「修修补补」,缺乏像MySQL 8.0引入CTE(公用表表达式)或窗口函数那样的突破性优化。例如,针对OLAP场景的分析型查询优化依然薄弱,与PostgreSQL、ClickHouse等专业分析数据库的差距未被缩小。此外,官方未公布具体的性能 benchmark 数据,开发者难以量化评估优化效果,实际生产环境中可能仍需依赖外部工具进行查询调优。
五、兼容性与生态:升级风险与功能割裂
失望点汇总
- 降级限制:9.3版本明确禁止在同一系列版本间降级(如从9.3.1降回9.3.0),增加了版本回退的运维风险,对依赖滚动升级的大型集群不够友好。
- 企业版专属壁垒:除JavaScript特性外,组复制主选举组件、选项跟踪器对Hypergraph Optimizer的支持等核心功能均属于企业版,社区版用户只能使用基础功能,违背了MySQL开源生态的初衷。
- 编译与平台适配:在Fedora等Linux发行版上因OpenSSL引擎接口调整导致编译问题,Windows平台的配置器CLI仍存在路径识别、端口兼容性等老问题,开发者需花费额外精力处理环境适配。
总结:增量更新下的用户抉择
MySQL 9.3 的 GA 版本,更像是一次「常规体检」而非「华丽转身」。新特性集中在细分场景优化和企业版功能强化,社区版用户获得的实质提升有限,且面临升级兼容性风险。对于依赖MySQL核心功能的中小企业和开发者而言,此次更新缺乏足够的吸引力,甚至可能因强制配置变更(如replica_parallel_workers
)带来迁移成本。
在数据库技术百花齐放的当下,PostgreSQL 通过开源生态实现功能反超,OceanBase、TiDB 等在分布式场景持续突破。MySQL 若想重拾开发者信心,或许需要在下一代版本中拿出更具颠覆性的创新——比如真正开源的分布式事务支持、AI驱动的智能优化器,而非仅在企业版中堆砌「专属功能」。毕竟,社区的失望,才是最危险的信号。
参考链接
https://dev.mysql.com/doc/refman/9.3/en/mysql-nutshell.html https://mp.weixin.qq.com/s/yfVhJMsJXCiWYAMichxM_A https://dev.mysql.com/doc/relnotes/mysql/9.3/en/
复制
全文完,希望可以帮到正在阅读的你,如果觉得有帮助,可以分享给你身边的朋友,同事,你关心谁就分享给谁,一起学习共同进步~~~
❤️ 欢迎关注我的公众号【JiekeXu DBA之路】,一起学习新知识!
——————————————————————————
公众号:JiekeXu DBA之路
墨天轮:https://www.modb.pro/u/4347
CSDN :https://blog.csdn.net/JiekeXu
ITPUB:https://blog.itpub.net/69968215
腾讯云:https://cloud.tencent.com/developer/user/5645107
——————————————————————————