当前位置: 首页 > 工具软件 > MySQL Maria > 使用案例 >

Mysql 和 MariaDB 的区别

邹弘
2023-12-01

Centos7

Centos7 版本将MySQL数据库软件从默认的程序列表中移除,用MariaDB代替了,MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。
开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

那是不是代表着我们就不能用Mysql了呢?
答:不是

安装Mysql博客链接


MySql

介绍

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

优点:
  1. 它使用的核心线程是完全多线程,支持多处理器。

  2. 有多种列类型:1、2、3、4、和8字节长度自有符号/无符号整数、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、 TIMESTAMP、YEAR、和ENUM类型。

  3. 它通过一个高度优化的类库实现SQL函数库并像他们能达到的一样快速,通常在查询初始化后不该有任何内存分配。没有内存漏洞。

  4. 全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函数(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。你可以在同一查询中混来自不同数据库的表。

  5. 支持ANSI SQL的LEFT 0UTER JOIN和ODBC。

  6. 所有列都有缺省值。你可以用INSERT插入一个表列的子集,那些没用明确给定值的列设置为他们的决省值。

  7. mysql可以工作在不同的平台上。支持C、C++、Java、Perl、PHP、Python和TCL API。

缺点
  1. mysql最大的缺点是其安全系统,主要是复杂而非标准,另外只有到调用mysqladmin来重读用户权限时才发生改变。

  2. mysql的另一个主要的缺陷之一是缺乏标准的RI(Referential Integrity-RI)机制;Rl限制的缺乏(在给定字段域上的一种固定的范围限制)可以通过大量的数据类型来补偿。

  3. mysql没有一种存储过程(Stored Procedure)语言,这是对习惯于企业级数据库的程序员的最大限制。

  4. mysql不支持热备份。

  5. mysql的价格随平台和安装方式变化。


MariaDB

介绍

MariaDB数据库管理系统是MySQL的一个分支(这里一定要注意,分支分支),主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius主导开发,
他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体,分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能。这个版本还包括了 PrimeBase XT (PBXT) 和 FederatedX存储引擎。

Mysql 和 MariaDB 的区别:

与 MySQL 相比较,MariaDB 更强的地方在于:

  1. Maria 存储引擎

  2. PBXT 存储引擎

  3. XtraDB 存储引擎

  4. FederatedX 存储引擎

  5. 更快的复制查询处理

  6. 线程池

  7. 更少的警告和bug (这个我喜欢)

  8. 运行速度更快

  9. 更多的 Extensions (More index parts, new startup options etc)

  10. 更好的功能测试

  11. 数据表消除

  12. 慢查询日志的扩展统计

  13. 支持对 Unicode 的排序

以上比较并不能代表 强弱,况且比较的意义也不是争锋好强

相对于MySQL来说,在性能、功能、管理、NoSQL扩展方面,MariaDB包含了更丰富的特性。比如微秒的支持、线程池、子查询优化、组提交、进度报告等。详情见列表。

由于Mysql太过于庞大后期再进行整理。

 类似资料: