MariaDB和MySQL版本的比较

因为找不到任何易于阅读的相对表,所以我制作了一个。

然而,通过仔细调查后发现,MariaDB比MySQL更早地引入了特定的功能,所以它们无法完全相等。(嗯,如果完全相同的话,为什么要制作不同的产品呢?)

因此,我绝对不建议在工作中使用这个相对表(免责)。

我参考了MariaDB官方网站上与MySQL的比较文档进行了创作。

MariaDB MySQL 5.1 5.1 5.2 5.1 5.3 5.1 5.5 5.5 10.0-10.1 5.6 10.2~3 5.7 (*) 10.4~11 8.0 (*)

二进制和复制品兼容

直到5.5版本为止,两个软件几乎完全兼容。

MariaDB 10.0~3 在 InnoDB 兼容性方面存在一些问题,但几乎具有二进制兼容性。

据说MariaDB 10.2服务器也可以作为MySQL 5.7服务器的复制服务器运行。MariaDB的一些信息,如全局事务ID(GTIDs)事件,似乎会被替换为MariaDB的GTID事件。

MariaDB 10.3 和 MySQL 5.7 和之前的版本是二进制兼容的。

简单来说,实现二进制兼容性是指卸载MySQL 5.7并安装MariaDB 10.3,同时保留服务器上/var/lib/mysql中的原始数据库数据,这样可以直接继续使用以前的数据库信息。

MySQL 8与MariaDB不具备二进制兼容性。

MySQL 8 和 MariaDB 10.4 之后需要注意

MySQL 8和MariaDB 10.4之间已经失去了二进制兼容性。

由于差异非常细微,建议参考MariaDB官方网站上的MySQL比较文档。

Concrete CMS 从MySQL 5.1.5版本开始提供支持。

Concrete CMS(旧称concrete5)从版本5.7.0到8.5.2兼容MySQL 5.1.5及以上的版本。

从8.5.0版本开始,支持UTF8MB4绘文字。

表情符号支持 (Huì zì fú zhī chí)

使用大多数表情符号都需要utf8mb4的排序规则和字符集。
在InnoDB下,使用Antelope的数据库在进行转换时可能会出现索引错误的情况。

建议选择MySQL 5.7.9或更高版本,因为从MySQL 5.7.9开始,不再需要额外配置InnoDB 设置。

innodb_file_per_table
innodb_file_format = Barracuda
innodb_file_format_max = Barracuda
innodb_large_prefix

漏话

MySQL的”My”是原始代码作者Michael “Monty” Widenius的女儿的名字。
MariaDB是MySQL在被Sun Microsystems公司收购并离职后创建的兼容数据库。Maria这个名字也是Widenius先生女儿的名字。简直就是姐妹数据库。

请参考以下资料来了解MariaDB和MySQL之间的兼容性差异:
1. https://mariadb.com/kb/en/mariadb-vs-mysql-compatibility/
2. https://enterprisezine.jp/dbonline/detail/4220
3. https://www.s-style.co.jp/blog/2018/04/1709/

原文

可能亲自从我的博客引用。
博客可能会更新得更及时。
https://ja.katzueno.com/2022/05/3945/

bannerAds