MySQL 是怎么从巅峰急剧坠落的?

刘欣 2026-03-15 09:44:00
今天看到了一幅图,MySQL历年的Commit数目:

 

图片  

从中可以清晰地看出,自2006/2007年达到顶峰以后,Commit数目一路下降,如今的数字只是最高峰的五六分之一!

 

另外一幅图是Stack Overflow的2025年度调查:

 

图片

 

PostgreSQL排名第一,大幅领先MySQL。

 

这更让我吃惊,因为我记得2022年的时候PostgreSQL还不如MySQL,没想到短短三年差距这么大了。

 

不过,Stack Overflow是用调查的方式,主要统计程序员在开发中使用的数据库,市面上还有很多系统在使用MySQL呢,并没有统计进去。

 

我又赶紧去看了一下MySQL在DB-Engines的排名:

 

图片

 

还好,MySQL依然排名第二,但是相比一年前,分数大幅下降了(-130.63)。

 

而PostGreSQL从2014年开始,则是一路增长,迅猛上扬。

 

图片

 

可以说,MySQL的存量市场和使用惯性还在,但精神感召力似乎消失了。

 

这到底是什么原因呢?

 

Amazon RDS for MySQL和MariaDB的前软件开发经理Otto认为:这是因为作为开源项目的管理者,Oracle已经不值得信任了。

 

他甚至说:“2026年别再使用MySQL了,它不是真正的开源软件”,他的主要理由如下:

 

一、开发工作闭门进行

 

公开的bug跟踪系统并不是 Oracle 主要使用的开发工具,少数为MySQL做贡献的人只能眼睁睁看到自己的Pull Request和补丁被标记为已收到,但却得不到任何反馈。

 

这些修改有可能会出现在下一版本的MySQL中,也可能不出现,甚至可能会被重写。

 

在Git的提交者栏中,也只有Oracle员工的名字,真正的作者只能在博客文章中被简单提及一下。

 

这样长此以往,慢慢地就没有人愿意为MySQL做贡献了。

 

换句话说,MySQL虽然通过GPL开源,但它本身的开发方式已经不是一个标准的开源项目了。

 

二、MySQL在技术上衰落了

 

MySQL 8.0.29 把 ALTER TABLE 默认切换到更激进的 in-place 执行方式,但这个实现当时并不成熟,在大量边缘场景下会失败,这直接导致数据库崩溃,数据损坏,影响了许多用户。这个问题直到一年后的 MySQL 8.0.32 才得到彻底解决。

 

2018年MySQL 8.0发布以后,长达6年的时间没有新的重要版本发布,2024年才发布8.1,还没有多少新功能,让很多用户感到失望。

 

更有基准测试表示显示,在写入密集型负载下,MySQL9.5的吞吐量比8.0又下降了15%! 这确实是挺让人崩溃的。

 

图片

 

在安全方面,MySQL也有不少问题,仅在 2025 年, MySQL 就发布了 123 个关于安全问题的 CVE ,而 MariaDB 只有 8 个 。

 

三、Oracle在引导大家使用收费的/闭源的产品

 

奥托说,MySQL 的软件本身、文档、官网,在各个层面都在引导用户放弃开源版本,转向收费的/闭源的 MySQL 版本。

 

我特意到MySQL的官网(https://www.mysql.com/cn/)看了一下:

 

图片

 

你别说,首页写得大大的MySQL企业版,MySQL的云数据库HeatWave,AI ,Cluster,就是找不到社区版。

 

我又去看了MySQL各个产品的介绍:

 

图片

 

这些产品确实让我有点儿晕,哪个是社区版?

 

标准版?经典版? 这是啥? 我搜了一下,发现这两者都是收费的,其实这个页面的所有产品都是收费的。

 

免费的社区版并不在这个MySQL的产品列表中!它都不配有个产品介绍了吗?

 

你要想下载的话,需要到下载页面,拉到最下方,才能看到:

 

图片

 

2009年,MySQL之父Monty写的一篇文章:Oracle对MySQL的承诺都是空头支票。

 

图片

 

当时Oracle要收购Sun(MySQL也在Sun旗下),欧盟担心扼杀竞争,几乎否决交易。

 

后来Oracle做出了10项承诺(5年期限),这才使得欧盟放行。

 

Monty说:“Oracle可能会把开发重点放到企业版上,或者添加闭源的扩展,使得社区版的兴趣和活跃度下降。”

 

“他们可能会放弃开源,关闭MySQL的某些部分。”

 

现在看来,Monty的话被应验了。

 

从商业的角度看,5年期限早已过去,Oracle完全可以基于自身利益选择如何发展MySQL这个产品,无可指责。

 

只不过大家也会用脚投票,选择其他真正开源的产品例如MariaDB。

 

图片

 

MariaDB是MySQL最直接的平替,兼容性非常好。如果是新项目,或者是重要的重构项目,也可以直接上PostGreSQL。

 

按照目前的发展趋势,我感觉两三年内PostgreSQL就在DB-Engines的统计中全面超越MySQL,我个人从零几年就开始用MySQL,大大小小的项目用了很多,对它很有感情,看到他从巅峰坠落,心里真是有点儿伤感。

 

最后顺便提一下,Monty有三个孩子,名称分别是My,Maria,Max。

 

这三个孩子非常幸运,因为他们的父亲把他们的名字永远地“刻”在了三个数据库产品之上:

 

  • MySQL

  • MaxDB

  • MariaDB

 

图片

 

本文作者

刘欣著有畅销书《码农翻身》,《半小时漫画计算机》,前IBM架构师,领导过多个企业应用架构设计和开发工作;洞察技术本质,擅长用故事去讲解复杂技术。

 

来源丨公众号:码农翻身(ID:coderising)
dbaplus社群欢迎广大技术人员投稿,投稿邮箱:editor@dbaplus.cn
最新评论
访客 2024年04月08日

如果字段的最大可能长度超过255字节,那么长度值可能…

访客 2024年03月04日

只能说作者太用心了,优秀

访客 2024年02月23日

感谢详解

访客 2024年02月20日

一般干个7-8年(即30岁左右),能做到年入40w-50w;有…

访客 2023年08月20日

230721

活动预告