MySQL的历史最早可以追溯到1979年,那时Oracle也才小打小闹,微软的SQL Server影子都没有。Monty Widenius在其合伙的TcX小公司工作时,用BASIC设计了一个报表工具,可以在4M主频和16KB内在的计算机上运行。随着时间的推移,这个小工具被用C重写并迁移到Unix上运行。当时,它只是一个很底层的面向报表的存储引擎,再配上一个报表前端。它就是大家知道的Unireg。
1990年,该公司的客户急切要求访问其数据的SQL接口,TcX提出其中一方案是把数据都加载进一个商用数据库。但Monty对这个方案的执行速度并不满意。他尝试将mSQL的代码用做SQL层,并用自己的低层级的存储引擎集成进来,但效果也不好。于是, Monty决心自己重写一个SQL。
1996年,MySQL 1.0发布,只面向一小拨人。同年10月,MySQL 3.11.1发布,只提供了Solaris下的二进制版本。一个月后,Linux二进制包也发布。 此时的MySQL还非常简陋,除了在一个表上做一些Insert,Update,Delete和Select 操作,没有其他更多的功能。
接下来的两年里,MySQL依次移植到各个平台下。它发布时,采用的许可策略,有些与众不同:允许免费商用,但是不能将MySQL与自己的产品绑定在一起发布。如果想一起发布,就必须使用特殊许可,意味着要花银子。
MySQL3.22应该是一个标志性的版本,提供了基本的SQL支持。还带有一个复杂的优化器,新版本速度很快,且非常稳定。尽管如此,它还是不支持事务、子查询、外键、存储过程和视图,只存在表级别的锁。
1999-2000,一个名叫MySQL AB的独立公司成立了(Monty Widenius也作为创始人之一),它聘请了几位开发者并与Sleepycat公司建立合作伙伴关系,提供访问Berkeley DB数据文件的SQL接口。自从Berkeley DB具备事务功能之后,它就赋于了MySQL支持事务的特质,补上了它的短板。在为集成的Berkeley DB做了一些修改之后,MySQL 3.23发布了。
2000 年,MySQL 公布了自己的源代码,并采用GPL(GNU General Public License)许可协议,正式进入开源世界。
2000年4月,有了Slashdot的支持与赞助,master/slave机制加入。不支持事务的老存储引擎ISAM被重写了,并以MyISAM的形式发布。经过大量的改良,当前版本也支持了全文搜索。MySQL AB还曾有一个跟NuShpere短期的合作,在MySQL中加入了一个支持行级锁和事务的引擎Gemini,但因法律问题于2001年结束了。也就在这时,Heikki Tuuri提议用自己的引擎集成到其中,并接手MySQL AB的工作,这个引擎就是同样支持行级锁和事务的InnoDB。
2003年3月,MySQL 4.0正式发布。新增特性:除了MySQL/InnoDB组合,还有查询缓存(Query Cache),优化器的改良,客户端/服务器间的协议用SSL加密。
2004年10月MySQL 4.1发布,2005年10月发布里程碑的一个版本 5.0。4.1版本新增子查询,空间索引支持也加到了MyISAM引擎中。Unicode支持也被实现了。客户端/服务器协议也有了大量的改动,而且支持预处理语句(prepared statement)。5.0版本加入了存储过程,服务器端游标,触发器,视图,分布式事务(Xa transactions),查询优化器的显著改进以及其它的一些特性。MySQL的开发者发现如果要让4.1 稳定下就要花很大的工夫,如果他们要把4.1的新特性都加进去,就必须先搞定存储过程,所以他们痛下决心另创了一个分枝来开发5.0。经一度因这个造成了一些混乱——两个分枝同时处在alpha 阶段,后来4.1稳定了,这个尴尬也就随之而解了。
在5.0 之后的版本里,MySQL明确地表现出迈向高性能数据库的发展步伐。5.1版本紧随其后,其中加了好多的新的改进,如表分区(table data partitioning),基于行的复制(row-based replication),事件调度器(event schedular),和让新存储引擎和其它插件轻松集成的标准化插件API。
…..
2008年1月16号 Sun公司收购MySQL。
2009年4月20,Oracle收购Sun公司。
2010年04月22 发布MySQL 5.5, MySQLcluster 7.1。
以上信息整理于互联网,如有错误,请留言更正。
http://www.cnblogs.com/reveyjay/archive/2012/03/09/2387493.html
分类目录
- arch/management (17)
- computer (38)
- java/j2ee (304)
- lnmpa (237)
- mac/iphone/ipad/android (11)
- mysql/oracle/postgresql (126)
- os/software (74)
- other (518)
- python (6)
- redis/memcached/mongo (31)
- sitebuild (143)
随便看看
标签云
程序员 创业 人生箴言 eclipse 快捷键 术语 索引 unix命令 vim wordpress java学习笔记 环境变量 oracle内置函数 index 人生 数据类型 nohup tuxedo mysql学习笔记 MS-DOS命令 servlet spring 职场进阶 职业进阶 服务器选购 服务器选型 apache JPA MongoDB 注解 tomcat 子女教育 jquery maven JVM aix命令 网络营销 java异常 seo 人生规划 关键字 css 网络推广 struts 系统优化 成长 frame iframe bluehost jdbc select 我的信仰 oracle函数 cookie HashMap 站长工具 乱码 ArrayList secureCRT jsp session tail find halt 事务 oracle单记录函数 算法 URL window table javascript操作表单元素 String 字符串处理 健康 http 域名 情感 more google A记录 域名解析 netstat 弹出对话框 弹出窗口 框架集 框架 excel 字符串 javascript函数 showModalDialog nginx number 数组 sql frameset 开源程序 java数组 软件 oracle服务友情链接
收藏链接