MySQL数据库应用实战教程(慕课版)
上QQ阅读APP看书,第一时间看更新

1.1 MySQL的发展历史

精讲视频

MySQL的发展历史

MySQL最初是由一个名叫蒙蒂·维德纽斯(Monty Widenius)的小职员为一个叫Tc X的公司设计的一款底层面向报表的存储引擎工具——Unireg。

在1985年,Monty和几个志同道合的朋友在瑞典成立了一家公司,也就是MySQL AB的前身。该公司最初也不是致力于做数据库产品的,只是因为工作过程中需要一个数据库,可是又没有合适的数据库选择,就决定自己开发一个数据库。为了满足瑞典的一些大型零售商不断增长的数据服务需求,并为复杂的系统提供数据仓库服务,他们自己设计了一个索引顺序存取数据算法,开发了高查询性能的数据引擎,也就是ISAM数据存储引擎。

1990年,有些用户要求提供SQL支持,于是Monty想将m SQL(mini SQL,即单用户数据库管理系统)代码集成到ISAM存储引擎中,但效果并不好。于是,Monty毅然决定自己重写一个SQL支持。

1996年,MySQL 1.0正式发布,提供的功能非常简单,只有表数据的INSERT(插入)、UPDATE(更新)、DELETE(删除)和SELECT(查询)操作。不过,它采用的许可策略却与众不同,允许免费商用,前提是不能捆绑MySQL一起发布,这为它的后续发展打下了良好的基础。随着MySQL 3.11.1版本的发布,MySQL不仅提供基本的SQL支持,还提供了复杂的查询优化器,尽管如此,MySQL依旧不支持事务、视图、存储过程等特性。

1999~2000年,Monty团队成立了MySQL AB公司,与Sleepcat合作开发了Berkeley DB引擎,MySQL从此支持事务处理。

2000年,MySQL公布了源码,并采用了通用公共许可协议(GNU General Public License,GPL);4月,MySQL对旧的存储引擎进行了整理,命名为MyISAM,同时支持全文搜索。

2001年,Heikki Tuuri提议集成自己的InnoDB引擎到MySQL中,这个存储引擎不仅支持行级锁,而且还支持事务处理,MySQL和InnoDB正式结合版本为4.0。

2004年,MySQL发了4.1版本,新增了子查询。

2005年10月,MySQL发布了5.0版本,新版本加入了存储过程、触发器、视图等,MySQL逐渐向高性能数据库方向发展。

2008年1月,MySQL被Sun公司收购。

2009年4月,Oracle公司收购了Sun公司,MySQL转入Oracle旗下。

2010年,MySQL 5.5发布,新特性包括半同步的复制以及对SIGNAL/RESIGNAL异常处理功能的支持,同时InnoDB引擎变为MySQL的默认存储引擎,还加强了在企业应用方面的特性。令人庆幸的是,Oracle承诺MySQL 5.5和未来的版本仍然是采用GPL协议的开源数据库。

在MySQL 5.5发布两年后,Oracle宣布MySQL 5.6正式版发布,首个正式版版本号为5.6.10。在MySQL 5.5中使用的是InnoDB作为默认的存储引擎,而MySQL 5.6则对InnoDB引擎进行了改造,提供全文索引能力,使InnoDB适合各种应用场景。

2015年,MySQL 5.7 GA重磅发布,新特性包括160万只读QPS,动态修改Buffer Pool,提高运维效率,优化器Server层改进、InnoDB层优化等。

注意

自MySQL被收购后,Monty Widenius觉得依靠Sun/Oracle来发展MySQL存在问题,于是决定另起分支,于2009年成立了Maria DB项目。