MariaDB和MySQL有什么区别?


82

MariaDB和MySQL有什么区别?我对两者都不是很熟悉。我主要是前端开发人员。

它们在语法上是否相似?这两种查询语言在哪里不同?

维基百科只提到许可之间的区别:

MariaDB是MySQL数据库的社区开发分支,其推动力是由社区维护其在GPL下的自由状态,而不是由Oracle当前拥有的MySQL许可证状态的任何不确定性。


这可能会有所帮助:hackr.io/blog/mariadb-vs-mysql
Saurabh Hooda

Answers:


94

MariaDB是MySQL向后兼容二进制二进制替换。这意味着:

  • 数据和表定义文件(.frm)文件是二进制兼容的。
  • 所有客户端API,协议和结构都相同。
  • 所有文件名,二进制文件,路径,端口,套接字等都应该相同。
  • 所有MySQL连接器在MariaDB上均保持不变。
  • mysql-client软件包也可与MariaDB服务器一起使用。

在最常见的实际情况下,MariaDB 5.xy版本将与MySQL 5.xy完全一样,MariaDB遵循MySQL的版本,即,其版本号用于指示其与哪个MySQL版本兼容。

MariaDB由MySQL的原始开发者之一和MySQL Ab的联合创始人Michael“ Monty” Widenius起源于MySQL。该MariaDB的基金会作为MariaDB的托管人。

MariaDB背后的主要动机是提供MySQL的软版本,以防Oracle全面使用MySQL。值得注意的是,Monty 反对 Oracle收购MySQL(通过Sun收购)。

尽管应该说MariaDB与MySQL兼容,但是出于一个或另一个原因,还是有很多兼容性问题不同的功能

  • MariaDB包括所有流行的开源引擎,
  • MariaDB声称在MySQL上有一些速度上的改进,并且
  • MySQL缺少一些新的牙线扩展

    最后,该名称来自Monty的女儿Maria(另一个是My),因为MySQL现在是Oracle Corporation的注册商标。


1
感谢您的全面解释。正是我想要的。
chrisjlee 2011年

5
MariaDB显然不是 SQL-99完整的,正如该答案链接到的那一页所声明的那样。例如,它根本不支持断言,并且CTE尚未将其发布为稳定版本。MySQL的情况也差不多。
航空

我相信到montyprogram dot com的链接已经烂掉了,但是我不知道在哪里可以找到这些链接的等效项。
Hay

MariaDB支持InnoDB对吗?为什么这样写?
鲍尔森·彼得

1
@PaulsonPeter是的,MariaDB支持InnoDB。不知道第二个问题是什么。
扬尼斯

15

这是一个分支-从相同的原始代码库开始的两个单独的项目,但在不同的方向上移动。在甲骨文收购了赞助公司的开源项目中,这种情况经常发生。

据我了解,MariaDB由原始的MySQL开发人员维护和增强,而MySQL由Oracle维护和增强。这取决于您想胜任这份工作。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.