MariaDB 和 MySQL 的区别2025年3月17日 | 阅读 10 分钟 MariaDB 和 MySQL 都是关系型数据库管理系统(RDBMS),它们都是免费且开源的软件。2009 年,MySQL 的创始人 Michael Monty Widenius 决定开发一个 MySQL 的分支,并将其命名为 MariaDB。MariaDB 为 MySQL 提供商业支持。 这两种 RDBMS 软件都用于将数据以表格形式存储在数据库中,并且各有优势,因此组织的选择取决于具体的业务需求和目标。让我们根据以下几点来了解 MariaDB 和 MySQL 的主要区别: ![]() MySQL流行的关系型数据库管理系统 "MySQL" 使用 SQL(结构化查询语言)来处理数据结构。此外,尽管它起源于 Oracle 并由 Oracle 管理,但其公开版本于 1995 年 5 月 23 日发布。由于它在各种小型和大型企业中运行,因此能够处理大量数据。在 Oracle 接管 MySQL 的一系列服务职责后不久,某些数据库用户出现了投诉,因此开发了 MariaDB。 MariaDBMariaDB 服务器是一个流行的开源关系型数据库管理系统(RDBMS),以其与 MySQL 的相似性而闻名,因此它是最常见的数据库技术。MariaDB 的全方位选择非常广泛,无疑使其超越了对手 MySQL,因为它不仅提高了效率,而且更好地满足了用户的需求。 让我们根据以下几点来了解 MariaDB 和 MySQL 之间的区别: 1) 首次发布和稳定发布MariaDB 于 2009 年 10 月 29 日首次发布。其稳定发布日期是 2020 年 5 月 12 日。相比之下,MySQL 于 1995 年 5 月 23 日首次发布。其稳定发布日期是 2020 年 4 月 27 日。 2) 开发人员MariaDB 由 MariaDB Corporation AB 和 MariaDB Foundation 开发。相比之下,MySQL 最初由一家瑞典公司 MySQL AB 于 1994 年创立。2008 年,Sun Microsystems 收购了 MySQL AB。之后,于 2010 年,Sun Microsystems 由 Oracle Corporation 收购。因此,目前 MySQL 由 Oracle Corporation 开发和维护。 3) 使用的编程语言MariaDB 用 C、C++、Perl 和 Bash 编程语言编写。相比之下,MySQL 用 C 和 C++ 编程语言编写。 4) 用户MariaDB 的主要客户包括 DBS、Red hat、Google、Ubuntu、Wikipedia、SuSE 等;而 MySQL 的主要用户包括 YouTube、Twitter、Facebook、Netflix、NASA、Tesla 等。 5) 兼容性MySQL 是一个开源的 RDBMS,以表、触发器、视图或存储过程的形式存储数据。它使用不同的键,如唯一键、主键、外键等,来维护数据完整性和冗余。另一方面,MariaDB 是 MySQL 的扩展版本(分支),具有新的广泛功能,如带参数的游标、不可见列、新语句等。这些附加功能使其非常出色,可以帮助我们用 MariaDB 替换 MySQL。它具有与 MySQL 相似的数据库结构和索引。因此,可以在没有任何更改和修改的情况下,将我们的应用程序从 MySQL 导入/导出到 MariaDB。 6) 版本在 MySQL 中,5.1 和 5.5 版本之间存在版本差距。MySQL 的最新版本是 v5.8。而 MariaDB 有连续的版本,如 5.2、5.3。MariaDB 版本 5.5 包含 MySQL 版本 5.5 的所有功能。MariaDB 的最新版本是 v10.4。 7) 存储引擎在 MySQL 中,包含 BLACKHOLE、MyISAM、MERGE、InnoDB、CSV 等存储引擎用于数据存储。另一方面,MariaDB 在 MariaDB 源和二进制包中包含 12 个新的附加存储引擎。 8) 加密MariaDB 支持临时表加密和二进制日志加密。另一方面,MySQL 不支持临时表的加密和二进制日志加密。但是,如果配置得当,它会加密 undo/redo 日志。 9) 密码验证MySQL 包含通过验证和测试密码来提高安全性的默认功能。而 MariaDB 不提供此类功能。 10) 性能由于 MariaDB 包含更多存储引擎,因此它在数据上执行插入、更新和删除等各种操作的速度更快。MariaDB 的性能比 MySQL 快 4 倍。相比之下,MySQL 的执行速度不如 MariaDB。 11) 复制不同版本的 MariaDB 允许我们将数据从 MySQL 服务器复制到 MariaDB 服务器。相比之下,MySQL 版本不允许将数据从 MariaDB 服务器复制到自身。MySQL 提供主从复制,而 MariaDB 提供主主和主从复制。 12) 云平台MySQL 可作为 Google Cloud 平台上的托管服务,以及 Amazon Web Services (AWS)、Rackspace Cloud 和 Microsoft Azure 上的服务。另一方面,MariaDB 仅在 Rackspace Cloud、Microsoft Azure 和 AWS 上可用。 13) 许可证MariaDB 只有一个 GPLv2 许可证(社区服务器)。而 MySQL 提供两种许可证:GPLv2(社区服务器)和企业许可证。 14) 语法尽管 MariaDB 和 MySQL 之间有许多差异,但两者的语法结构是相同的。 让我们看看如何 选择 STUDENT 表中的所有记录 从 STUDENT 表中删除记录 MariaDB vs. MySQL让我们以表格形式总结上述差异。
MySQL 的特性MySQL 数据库的基本功能如下:
MariaDB 的功能MariaDB 数据库的基本功能如下:
MariaDB 的优缺点
缺点MySQL Enterprise Edition 拥有一些在 MySQL 社区版中找不到的属性。例如,某些在 MariaDB 中已知缺失的功能。然而,有一些开源平台,例如 MaxScale(由 MariaDB 提供),能够执行数据库中的数据掩码工作。 MySQL 的优缺点优点
缺点
让我们来看看一些仅在一个数据库中独有的功能: JSON 数据类型 - 从 5.7 版本开始,MySQL 引入了原生的可靠 JSON 数据类型(由 RFC7159 定义),可确保轻松有效地访问 JSON(JavaScript Object Notation)中的数据。 MariaDB 开发人员排除了此改进,认为它不属于 SQL 标准。然而,对于从 MySQL 进行复制,其定义仅表示 JSON 是 LONGTEXT 列的别名。MariaDB 声称其方法与传统 MySQL 没有性能差异。但是,他们没有最新的基准来支持这一说法。根据 MariaDB 的说法,受访者解释了他们尚未支持 JSON 的原因。 虽然处理 JSON 的主要区别在于语法,但值得一提的是,MySQL 和 MariaDB 拥有不同的 JSON 相关函数,可以轻松访问、解析和检索 JSON 数据。 可替换身份验证 - 在 MySQL 8.0 中,默认身份验证插件是 caching_sha2_password 插件,而不是 mysql_native_password。这种模拟可以通过使用 SHA-256 算法来提高安全性。它仅通过身份验证插件参与此协议。 加密 - MySQL 加密 redo/undo 日志(仅在配置时),但它不加密临时表空间或二进制日志。这与 MariaDB 不同,MariaDB 支持 mysqldumpslave 加密二进制日志和临时表。 结论总而言之,MariaDB 和 MySQL 在关系数据库领域都拥有强大的功能,但各有优缺点。MariaDB 像其祖先一样,在兼容性方面加强了 MySQL,同时带来了其他优势。常见的优点包括随附的开源特性、附加存储引擎的应用以及社区开发因素。相比之下,Oracle Corp 支持的 MySQL 确保了稳定、企业级支持以及最先进的安全功能。 |
我们请求您订阅我们的新闻通讯以获取最新更新。