2026年,为什么说该从MySQL转向MariaDB了
如果你还在用MySQL,而且在意开源这回事,那2026年是个值得认真考虑转向MariaDB的年份。
这不是什么"谁更好"的口水仗,而是过去一年发生的事,让MySQL的未来变得有点看不清了。
开源仓库三个月没动静,这事挺少见
2025年9月之后,GitHub上的mysql/mysql-server仓库就再没新提交了。一直停到2026年1月,三个月多,一个字都没动 。
对开源项目来说,这不太正常。
放在一起看更明显:MySQL的提交量这些年一直在掉,2025年直接掉到了项目启动以来的最低点 。时间点也巧,正好是2025年9月Oracle那轮裁员——MySQL核心团队裁了约70人,很多是跟了社区版多年的老工程师 。
MySQL之父Monty Widenius听到消息时说"有点心碎"。他当年创建MariaDB,本就是想给MySQL留条真正开源的后路 。
Oracle从来没被当成靠谱的开源管家
这事得从2009年说起。Oracle收购Sun微系统,把MySQL一起收了。当时欧盟差点否决这笔交易,就是怕Oracle想干掉MySQL这个竞争对手。最后Oracle做了十项承诺,保证会继续维护MySQL,交易才放行 。
后来的事,很多人看在眼里。
公开的bug跟踪系统,Oracle内部根本不用。外面的人想贡献代码,提交个Pull Request,也就收到个"已收到",然后就没下文了。这些改动可能会出现在下一个版本里,也可能不会,就算用了也常被重写,Git提交者栏里只有Oracle员工的名字,真正的作者最多在博客文章里被提一句 。
曾在AWS管过RDS MySQL和RDS MariaDB团队的Otto Kekäläinen说,他手下的开发者都不愿给MySQL提交代码,就因为Oracle对外部贡献的态度太差。而MariaDB那边,所有开发都在GitHub上实时进行,谁都能提Pull Request、能拿到评审,bug讨论也公开,这才是真正的开源该有的样子 。
MySQL只是在许可证层面是开源的(GPL v2),项目运作层面,早就不是了 。
技术上也出了不少问题
MySQL 8.0.29发布时,把默认的ALTER TABLE方法改成了更激进的in-place执行,但当时这个实现不成熟,很多边界情况没覆盖到,导致不少用户数据库崩溃、数据损坏。这个问题拖了一年,到8.0.32才彻底修好 。
还有更让人担心的。MySQL 8.0是2018年发布的,之后六年没出过真正的重大版本。2023年出了个8.1,只是个短期预览版。2024年的8.4 LTS,名义上是新主版本,但几乎没什么新功能,让很多人失望 。
性能也在往下走。MySQL性能专家Mark Callaghan的基准测试显示,在写密集型负载下,MySQL 9.5的吞吐量比8.0还低15%左右 。
安全方面,2025年MySQL发布了123个CVE(通用漏洞披露),而MariaDB只有8个。而且MySQL的CVE大多没什么实际细节,比如最新的CVE-2025-53067只描述说"高权限攻击者可通过多协议网络访问,轻易攻破MySQL服务器",完全没有可供验证的信息,用户只能信Oracle的话 。
最近还有个严重bug:MySQL 8.0从库如果开了super_read_only,同时innodb_undo_log_truncate是默认ON,自动undo截断时可能卡住,留下残留文件,如果这时候实例崩溃重启,可能引发静默数据损坏。Oracle只在8.4里修了这个问题,没打算backport到8.0——而8.0再过一个月(2026年4月)就EOL(停止支持)了 。
Oracle想把用户往收费产品赶
去MySQL官网看看就知道了。首页写得大大的都是MySQL企业版、HeatWave云数据库,想找社区版?得拉到下载页面最底下才看得见 。
MySQL的软件本身、文档、官网,每个地方都在引导用户放弃开源版本,转向闭源的MySQL产品,尤其是HeatWave——这不只是闭源服务,还意味着Oracle完全掌控你数据库里的内容 。
2026年3月,一个由数据库公司组成的联盟(包括Percona、VillageSQL)和544名MySQL用户联名请求Oracle把MySQL社区版的控制权交给独立非营利基金会。Oracle直接拒绝了 。
分析师说得很直接:放弃治理权就是放弃路线图决定权,可能会加速开发与Oracle数据库、HeatWave竞争的功能,这不符合Oracle的商业利益 。
Oracle倒是承诺会更透明、更包容,还说要加一些以前只有商业版才有的功能,比如配置文件引导优化、超图优化器、JSON双重性增强,甚至可能加向量函数 。但信不信,看个人了。
替代方案其实很简单
MariaDB是MySQL最直接的平替。它是MySQL作者Monty Widenius在2009年搞的分支,基本向后兼容,大多数应用可以直接切过去,不用改代码 。
实际迁移也成熟了。全球57%的WordPress网站已经在用MariaDB,MySQL只占42% 。华为云DRS服务支持MySQL到MariaDB的实时同步,从5.6、5.7、8.0都可以迁到对应的MariaDB版本 。RDK Wiki上还有从MySQL 5.6升级到MariaDB 10.11的详细步骤,备份、卸载、安装、升级,一步步写得很清楚 。
不过需要注意,现代MariaDB和MySQL已经有了不少差异。JSON数据类型、用户认证、系统表结构、权限模型都不完全一样 。迁移前最好先用MariaDB的迁移评估工具扫一遍,测好了再动手 。建议建一套新的MariaDB基础设施,通过复制或导出导入把数据迁过去,而不是在原位升级 。
如果不想用MySQL系,PostgreSQL是另一个热门选择。它在Stack Overflow 2025年调查里已经大幅领先MySQL,成为专业开发者最常用的数据库 。DB-Engines排名上,PostgreSQL从2014年起一路猛涨,MySQL则在明显下滑 。不过从MySQL迁到PostgreSQL工作量会大很多,毕竟语法和功能都不一样。
说到底,图什么
有人觉得,只要MySQL现在能用,是不是真正开源、未来怎么样都无所谓。但数据库是整个软件栈里最核心的部分,一出问题就是大问题,尤其是安全漏洞。抱着"能用就行"的心态,最后可能把自己坑了 。
真正的开源项目里,问题被公开讨论,越严重参与修复的人和企业越多。像科学方法一样,思想自由流动、被质疑、被验证,最后胜出的是证据最充分的方案 。
Oracle在处理安全问题上的方式,正好相反。信息封锁,CVE公开后也几乎不提供细节,用户只能信Oracle说"修好了" 。
无论最后选MariaDB、Percona Server、TiDB还是PostgreSQL,只要不是Oracle的产品,体验可能都会好不少。
MySQL从巅峰坠落,看着确实有点伤感。但Monty把自己的三个孩子My、Maria、Max的名字都刻在了数据库产品上——MySQL、MariaDB、MaxDB。至少,还有一个在真正开源的路上走着。
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!