MySQL 数据库
MySQL 数据库是一个关系型数据库管理系统, 由瑞典 MySQL AB 公司开发. MySQL 是一种关联数据库管理系统, 关联数据库将数据保存在不同的表中, 而不是将所有数据放在一个大仓库内, 这样就增加了速度并提高了灵活性.
(1)Mysql 支持大型的数据库. 可以处理拥有上千万条记录的大型数据库;
(2)MySQL 使用标准的 SQL 数据语言形式;
(3)Mysql 可以允许于多个系统上, 并且支持多种语言. 这些编程语言包括 C,C++,Python,Java,Perl,PHP,Eiffel,Ruby 和 Tcl 等;
(4)Mysql 对 PHP 有很好的支持, PHP 是目前最流行的 web 开发语言;
(5)MySQL 支持大型数据库, 支持 5000 万条记录的数据仓库, 32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为 8TB;
(6) 采用了 GPL 协议 (一种自由软件许可证, 许可社会公众享有: 运行, 复制软件的自由, 发行传播软件的自由, 获得软件源码的自由, 改进软件并将自己作出的改进版本向社会发行传播的自由).
MySQL 数据库的历程
(1)1979 年, 一个名为 Monty Widenius 的程序员在为 TcX 的小公司打工, 并且用 BASIC 设计了一个报表工具, 使其可以在 4MHz 主频和 16KB 内存的计算机上运行. 当时, 这只是一个很底层的且仅面向报表的存储引擎, 名叫 Unireg.
(2)1990 年, TcX 公司的客户中开始有人要求为其 API 提供 SQL 支持. Monty 直接借助于 mSQL 的代码, 将它集成到自己的存储引擎中. 令人失望的是, 效果并不太令人满意, 决心自己重写一个 SQL 支持.
(3)1996 年, MySQL 1.0 发布, 它只面向一小拨人, 相当于内部发布. 到了 1996 年 10 月, MySQL 3.11.1 发布 (MySQL 没有 2.x 版本), 最开始只提供 Solaris 下的二进制版本. 一个月后, Linux 版本出现了. 在接下来的两年里, MySQL 被依次移植到各个平台.
(4)1999~2000 年, MySQL AB 公司在瑞典成立. Monty 雇了几个人与 Sleepycat 合作, 开发出了 Berkeley DB 引擎, 由于 BDB 支持事务处理, 因此 MySQL 从此开始支持事务处理了.
(5)2000,MySQL 不仅公布自己的源代码, 并采用 GPL(GNU General Public License) 许可协议, 正式进入开源世界. 同年 4 月, MySQL 对旧的存储引擎 ISAM 进行了整理, 将其命名为 MyISAM.
(6)2001 年, 集成 Heikki Tuuri 的存储引擎 InnoDB, 这个引擎不仅能持事务处理, 并且支持行级锁. 后来该引擎被证明是最为成功的 MySQL 事务存储引擎. MySQL 与 InnoDB 的正式结合版本是 4.0
(7)2003 年 12 月, MySQL 5.0 版本发布, 提供了视图, 存储过程等功能.
(8)2008 年 1 月, MySQL AB 公司被 Sun 公司以 10 亿美金收购, MySQL 数据库进入 Sun 时代. 在 Sun 时代, Sun 公司对其进行了大量的推广, 优化, Bug 修复等工作.
(9)2008 年 11 月, MySQL 5.1 发布, 它提供了分区, 事件管理, 以及基于行的复制和基于磁盘的 NDB 集群系统, 同时修复了大量的 Bug.
(10)2009 年 4 月, Oracle 公司以 74 亿美元收购 Sun 公司, 自此 MySQL 数据库进入 Oracle 时代, 而其第三方的存储引擎 InnoDB 早在 2005 年就被 Oracle 公司收购.
(11)2010 年 12 月, MySQL 5.5 发布, 其主要新特性包括半同步的复制及对 SIGNAL/RESIGNAL 的异常处理功能的支持, 最重要的是 InnoDB 存储引擎终于变为当前 MySQL 的默认存储引擎. MySQL 5.5 不是时隔两年后的一次简单的版本更新, 而是加强了 MySQL 各个方面在企业级的特性. Oracle 公司同时也承诺 MySQL 5.5 和未来版本仍是采用 GPL 授权的开源产品.
MariaDB 数据库
MySQL 被收购之后, 面临着被闭源的风险, 因此 MySQL 之父 Widenius 离开 Sun 之后, 2009 年重新开发代码全部开源免费关系型数据库, 推出了 MariaDB.
鉴于所有应用, MariaDB 都是 MySQL 的代码级量身定制的替代者, 相应的版本可以直接替换 (如 MySQL 5.1 -> MariaDB 5.1 , MariaDB 5.2 & MariaDB 5.3 也是兼容的. MySQL 5.5 将与兼容), 其与 MySQL 保持着高度的兼容性:
数据及表的定义文件 (.frm) 在代码级兼容;
所有客户端的 API, 协议和结构都是相同的;
所有文件件名, 二进制文件, 路径, 端口, 套接字等...... 全都是一样的;
所有的 MySQL 与其他语言 (PHP,Perl,Python,Java,.NET,MyODBC,Rub,MySQL C......) 的连接文件无需任何改动, 在 MariaDB 就可工作;
mysql-client 程序也可在 MariaDB 服务器上工作.
但 MariaDB 绝对不是 MySQL 的简单替代品, 相对于 MySQL, 其有更多新选项, 扩展, 存储引擎及漏洞修复.
据调研, 目前 Oracel 已经对 MySQL 进行了闭源, 开源的 CentOS7 已经不支持 MySQL, 而换成了的 MariaDB. 如果用户需要在 CentOS7 上安装 MySQL 需要先将 MariaDB 卸载掉, 否则就会导致安装冲突.
来源: http://www.bubuko.com/infodetail-2479298.html