MySQL是谁开发的?Oracle旗下数据库背景与历史沿革
MySQL并不是Oracle公司从零开发出来的数据库。它最初由瑞典公司MySQL AB开发,核心创始成员包括Michael “Monty” Widenius、David Axmark和Allan Larsson。MySQL在1995年前后正式对外发布,后来经历了两次重要的公司收购:2008年MySQL AB被Sun Microsystems收购,2010年Oracle完成对Sun的收购,于是MySQL进入Oracle旗下。
所以,如果只回答“MySQL是谁开发的”,答案应该是MySQL AB及其早期开发团队;如果问“MySQL现在属于谁”,则是Oracle。把“最初开发者”和“当前所属公司”区分开,就不容易混淆MySQL的历史。
一、MySQL最初是谁开发的?
MySQL的早期开发主体是MySQL AB。这是一家起源于瑞典的软件公司,Michael Widenius、David Axmark和Allan Larsson是其关键创始成员。
其中Michael Widenius通常被称为“Monty”,他在MySQL早期数据库技术开发中扮演了非常重要的角色。David Axmark参与公司建立、产品推广和开源商业模式的发展,Allan Larsson同样是MySQL AB早期的重要成员。
因此,把MySQL简单描述成“Oracle开发的数据库”并不准确。Oracle今天确实维护和销售MySQL,但Oracle是在后来的公司并购中获得MySQL业务的。
更加准确的表述是:
- 最初开发:MySQL AB及其开发团队。
- 早期核心人物:Michael Widenius、David Axmark、Allan Larsson等。
- 首次公开发布时期:1995年。
- 当前官方产品体系:Oracle。
二、为什么数据库叫MySQL?它最初解决什么问题?
MySQL是一种关系型数据库管理系统,也就是常说的RDBMS。它使用SQL语言完成数据查询、添加、修改、删除以及数据库结构管理。
例如,一个网站需要保存用户数据,可以建立类似下面的数据表:
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL
);
应用程序随后可以使用SQL查询用户:
SELECT id, username, email
FROM users
WHERE id = 1001;
这正是MySQL长期以来最典型的使用方式:作为应用程序背后的数据存储系统。网站、论坛、内容管理系统、电商系统和各种业务后台都可以通过MySQL保存结构化数据。
MySQL后来能够获得广泛应用,与它较早进入互联网应用环境、能够运行在多种操作系统上,以及形成开源版本和商业服务并存的模式有很大关系。
三、MySQL是怎样一步步进入Oracle旗下的?
理解MySQL现在为什么属于Oracle,不需要把所有数据库历史都记下来,只要抓住MySQL AB → Sun Microsystems → Oracle这一条收购链即可。
1995年:MySQL开始公开发布
MySQL在1995年前后开始公开发布。当时的产品属于MySQL AB体系,这也是讨论“MySQL是谁开发的”时最应该关注的阶段。
之后MySQL不断发展,在Web应用中尤其常见。很多采用PHP、Perl、Python、Java等语言开发的网站和服务器程序,都可以把MySQL作为后端数据库。
2008年:Sun收购MySQL AB
2008年,Sun Microsystems收购MySQL AB。这意味着MySQL第一次发生了非常明显的公司所有权变化。
这一步很重要,因为有人会误以为Oracle后来直接收购了MySQL公司。严格来说,中间还有Sun这一层:MySQL先进入Sun,Oracle后来才通过收购Sun获得MySQL。
2010年:Oracle完成对Sun的收购
Oracle在2009年宣布收购Sun Microsystems,并在2010年完成该交易。因为MySQL当时已经属于Sun,所以Oracle收购Sun以后,MySQL也随之进入Oracle旗下。
这就是今天经常看到“Oracle MySQL”或者“MySQL是Oracle旗下数据库”的历史原因。
| 时期 | 主要主体 | MySQL处于什么状态 |
|---|---|---|
| 1995年前后开始 | MySQL AB | 原始开发和早期商业化阶段 |
| 2008年以后 | Sun Microsystems | MySQL AB被Sun收购 |
| 2010年以后 | Oracle | Oracle收购Sun后获得MySQL业务 |
四、怎么判断“MySQL是Oracle开发的”这句话是否准确?
遇到类似说法,可以按下面四步判断。这种方法也适合区分一个软件的原始作者、历史公司和当前所有者。
第一步,看原始开发者。MySQL最初由MySQL AB团队开发,因此历史上的开发者应该追溯到MySQL AB,而不是Oracle。
第二步,看产品刚发布时属于哪家公司。MySQL公开发布时,Oracle并不拥有它。
第三步,看公司收购过程。MySQL AB在2008年进入Sun,之后Oracle再收购Sun。
第四步,看今天的官方维护体系。现在官方MySQL产品属于Oracle体系,Oracle继续维护MySQL Community Edition和面向企业用户的商业产品。
五、Oracle Database和MySQL是不是同一个数据库?
不是。虽然两者都处于Oracle公司的产品体系中,但Oracle Database和MySQL是两套不同的数据库产品。
| 项目 | MySQL | Oracle Database |
|---|---|---|
| 历史来源 | 起源于MySQL AB | Oracle长期发展的核心数据库产品 |
| 进入Oracle体系方式 | Oracle收购Sun后获得 | Oracle自身数据库产品 |
| 是否同一软件 | 不是,两者有各自的产品体系、功能实现和使用方式 | |
| 常见应用 | Web应用、互联网服务、中小型到大型业务系统等 | 企业级核心业务、复杂数据管理等 |
例如,一个PHP网站使用MySQL,并不能因为MySQL现在属于Oracle,就说这个网站使用的是“Oracle数据库”。通常所说的“Oracle数据库”指的是Oracle Database,而不是MySQL。
六、MySQL被Oracle收购以后还是开源数据库吗?
是,但这里也需要区分不同产品。
MySQL长期采用开源版本与商业产品并存的模式。现在仍然存在可以获得源代码并按照相应开源许可证使用的MySQL Community Edition,同时Oracle也提供面向商业客户的MySQL企业产品和服务。
因此,“Oracle是一家商业软件公司”并不等于“MySQL被收购后就变成了完全闭源软件”。讨论MySQL授权时,应该进一步确认自己使用的是哪个版本、组件以及对应许可证。
对于普通学习者来说,安装MySQL Community Server学习SQL、数据库设计、索引和事务等内容,与是否购买Oracle的商业产品是两回事。
七、MariaDB为什么经常和MySQL一起被提到?
了解MySQL进入Oracle体系的历史时,经常还会遇到MariaDB。
在MySQL公司归属发生变化的阶段,MySQL早期核心人物Michael “Monty” Widenius等人参与推动了MariaDB的发展。MariaDB最初以MySQL代码体系为基础形成分支,因此两者在早期具有很强的兼容关系。
但经过长期独立发展以后,MySQL和MariaDB已经不能简单理解为“两个名字不同但完全一样的数据库”。两边都有自己的版本、功能和实现变化。实际部署系统时,应该按照应用所要求的数据库类型和版本选择,不能因为早期兼容就默认可以无条件互换。
MariaDB的出现也能帮助理解一个重要概念:开源项目的代码分支,与原有商标、官方产品线和公司所有权,是不同层面的事情。
八、MySQL历史中的几个名称应该怎么区分?
阅读旧文章、技术书籍或者数据库历史资料时,经常会同时看到MySQL AB、Sun、Oracle和MariaDB。可以按照下面的关系理解。
- MySQL:数据库产品和相关技术体系。
- MySQL AB:MySQL早期开发和商业化的公司。
- Sun Microsystems:2008年收购MySQL AB的公司。
- Oracle:后来收购Sun,因此获得MySQL业务,并继续发展官方MySQL产品。
- MariaDB:从MySQL技术体系发展出来的独立数据库项目,并非Oracle旗下MySQL的另一个名称。
只要把这几个对象分开,MySQL的历史基本就清楚了。
九、几个常见问题
MySQL是Oracle公司开发的吗?
如果这里的“开发”指最初创造MySQL,答案是否定的。MySQL最初由MySQL AB及其团队开发。Oracle是在后来收购Sun Microsystems以后获得MySQL业务的。
如果这里的“开发”指今天继续开发和维护官方MySQL产品,则Oracle当然是当前MySQL发展的主要主体之一。
MySQL现在属于Sun吗?
不是。Sun曾经拥有MySQL,但Oracle后来收购了Sun,因此MySQL进入了Oracle体系。
MySQL和Oracle Database有什么关系?
它们现在都属于Oracle公司的数据库产品体系,但属于不同产品。MySQL不是Oracle Database的简化版,也不能把两个名称混为一谈。
学习MySQL需要学习Oracle Database吗?
不需要。两者都支持SQL和关系型数据库的基本概念,但具体安装、管理工具、SQL扩展、数据类型、存储机制和企业功能并不完全相同。学习MySQL时直接围绕MySQL环境练习即可。
MariaDB就是旧版MySQL吗?
也不是。MariaDB最初与MySQL有很深的技术渊源,但已经作为独立数据库项目长期发展。今天判断兼容性时应该看具体版本和功能,而不能把MariaDB直接当成MySQL的另一个名称。
十、MySQL开发背景与历史沿革总结
把整个历史压缩成一句话就是:
MySQL最初由MySQL AB及其早期团队开发,1995年前后开始公开发布;2008年Sun Microsystems收购MySQL AB;2010年Oracle完成对Sun的收购,因此MySQL进入Oracle旗下,并由Oracle继续发展官方MySQL产品。
因此,看到“MySQL是Oracle旗下数据库”时,可以认为这是在描述它今天的公司归属;但如果问题是“MySQL是谁开发的”,则应该追溯到MySQL AB以及Michael “Monty” Widenius、David Axmark、Allan Larsson等早期核心成员。
理解这一区别以后,MySQL AB、Sun、Oracle和MariaDB之间的关系也就比较清楚了:MySQL AB代表原始开发阶段,Sun和Oracle代表后续公司归属变化,而MariaDB则是从MySQL技术体系中发展出来的独立数据库项目。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













