美文网首页
A.001.1.Mysql介绍

A.001.1.Mysql介绍

作者: 执一不失 | 来源:发表于2021-01-09 11:00 被阅读0次

1.mysql介绍

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。



MySQL 使用的 SQL 语言是用于访问数据库的最常用的标准化语言。

由于 MySQL 数据库体积小、速度快、总体拥有成本低、开放源代码,其有着广泛的应用,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,因此搭配 PHP 和 Apache 服务器可组成良好的开发环境。

2.系统特性

  • 使用 C 和 C++ 编写,并使用多种编译器进行测试,保证源代码的可移植性。
  • 支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows 等多种操作系统。
  • 为多种编程语言提供了 API。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
  • 支持多线程,充分利用 CPU 资源。
  • 优化的 SQL 查询算法,有效地提高查询速度。
  • 既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入其他的软件中。
  • 提供多语言支持
  • 提供 TCP/IP、ODBC 和 JDBC 等多种数据库连接途径。
  • 提供用于管理、检查、优化数据库操作的管理工具。
  • 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
  • 支持多种存储引擎。

3.发展历程

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]http://zh.wikipedia.org/wiki/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。

2013年2月,MySQL5.6发布。Oracle最近宣布将于2021年2月停止5.6版本的更新,结束其生命周期。

2015年12月,MySQL5.7发布,其性能、新特性、性能分析带来了质的改变。

2016年9月,MySQL开始了8.0版本,Oracle宣称该版本速度是5.7的两倍,性能更好。

2018年4月,MySQL8.0.11发布。

2021年1月09日MySQL已更新到8.0.22版本,但市场主流都还是使用的5.5/5.6/5.7版本,建议用5.7.xx。

(官方下载路径:https://dev.mysql.com/downloads/mysql/

4.市场应用

  • 中、大型互联网公司
  • 市场空间:互联网领域第一
  • 同源产品:MariaDB、perconaDB

关注公众号,查阅数据库知识不迷路,公众号:数据库BOSS

相关文章

  • A.001.1.Mysql介绍

    1.mysql介绍 MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Orac...

  • Runtime介绍---术语介绍

    1. 什么是Runtime Runtime又叫运行时,是一套C语言的API。 我们平时编写的OC代码,底层都是基于...

  • 介绍

    万物终有一天会消失殆尽,诸神出卖黎明,光明为黑暗所湮灭,日月皆痕,海潮鸣泣,幼雏嚎啕,生灵涂炭。 托里奥世纪第20...

  • 介绍😊

    大家好,我是beth,初入简书,不邀自来,还请各位见谅! 先说说我是怎么想着来的吧?这不是刚过了一个寒假嘛...

  • 介绍

    在这个世界上还有三个家族他们不受各个国家联合国管。但他们身上有着使命分别是帝国家族曲国家族圣国家族。他们隐藏在一个...

  • 介绍

    云轩:主角,星罗帝国的二皇子。从小就不能练气,被人们称为废物。直到12岁的时候,自己的武魂觉醒才能练气,双...

  • 介绍

    万花阁 神秘至极的组织,亦正亦邪。万花阁的人行动隐秘,至今未被发现所在地。听说组成成员均以花来命名。所到之处,皆留...

  • 介绍

    此书命曰元.八洲传。属九洲四传第二部。第一部,上古往事。上古往事乃元八洲传外传。前两部为战胜心魔,而第三部,大梦...

  • 介绍

    千肆篇 7月的天气燥热,但在红杏阁里这份燥热就别有一番风味。漫天的胭脂水粉的香味变成了调味剂,女人们千姿百媚,在...

  • 介绍

    该文集属于收录文集,里面的内容不全是本人创作,有收录个人喜欢的内容。 *(偏个人向)

网友评论

      本文标题:A.001.1.Mysql介绍

      本文链接:https://www.haomeiwen.com/subject/ixxcaktx.html