目? ? ? ? ? ? ? 录
????????用linux(包括centos和Ubuntu)的都知道,经常会用到maridb 和mysql。实际上,MySQL/MariaDB是Linux上最流行的关系型数据库之一,它具有强大的性能、易用性和可扩展性。
????????关系型数据库就是把复杂的数据结构归结为简单的二元关系),如下图示:
????????许多网站和应用程序都使用MySQL作为后端数据库。有人会问我:这两个数据库是不是一样的?这两个数据库用哪个好呢?…等等问题,我们今天就谈一下这两个个数据库。
????????MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(关系数据库管理系统)应用软件之一。
????????MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择MySQL作为网站数据库。
????????MySQL具有功能强、使用简单、管理方便、运行速度快、可靠性高、安全保密性强等优点。MySQL用C和C++编写,它可以工作在许多平台(Unix,Linux,Windows)上,提供了针对不同编程语言(C,C++,JAVA等)的API函数;使用核心线程实现多线程,能够很好的支持多CPU;提供事务和非事务的存储机制;快速的基于线程的内存分配系统;MySQL采用双重许可,用户可以在GNU许可条款下以免费软件或开放源码软件的方式使用MySQL软件,也可以从MySQLAB公司获得正式的商业许可。
????????MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区维护,并采用GPL授权许可。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的替代品。MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,使用了Percona的XtraDB(英语:XtraDB),这是InnoDB的变体。MariaDB还包含PrimeBase XT (PBXT) 和 FederatedX存储引擎。
????????MariaDB名称来自Michael Widenius的女儿Maria的名字。开发这个分支的原因之一是甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。
????????MariaDB使用方法几乎与MySQL完全一致,包括命令、界面、使用等,根据官方介绍,在MariaDB 5.5版本之前,所欲的功能特性完全继承自MySQL,因此使用MariaDB 5.5的人会从MySQL 5.5中了解到MariaDB的所有功能。但是从2012年11月12日起发布的10.0.0版开始,MariaDB不再依照MySQL的版号,而是10.0.x版以5.5版为基础,加上移植自MySQL 5.6版的功能和自行开发的新功能。正因为是MySQL的一个分支和衍生版,因此各种特性与MySQL基本一致,所以用户在使用MariaDB时,几乎感觉不到其与MySQL的差异,这也是开发者开发MariaDB的初衷,那就是完全兼容并替代MySQL,包括API和命令行。
????????根据以往的经验,我总结如下相同之处:
????????因此,MariaDB和MySQL在执行程序、实用工具、数据文件、表定义文件、客户端 API 和通信协议、文件、端口及文件路径以及SQL语句等方面具有很好的兼容性。这些相同之处使得开发者可以轻松地从MySQL迁移到MariaDB,而无需对代码或配置进行大量更改。
????????MariaDB和MySQL的不同点主要包括以下几个:
????????MariaDB和MySQL在开发目标、许可证、性能和优化、新功能和存储引擎、社区和支持以及安全性和稳定性等方面存在显著差异。