完全替代MySQL
MariaDB版本的功能相当于一个“完全替代”的MySQL版本,但有一些限制。这意味着:
- MariaDB的数据文件通常是二进制的,与MySQL版本的数据文件兼容。所有的文件名和路径通常是相同的。数据和表定义文件(.frm)文件是二进制兼容的。请参阅下面的注释,查看与视图的不兼容性!
- MariaDB的客户端协议与MySQL的客户端协议是二进制兼容的。所有的客户端api和结构都是相同的。所有端口和套接字通常是相同的。所有的MySQL连接器(PHP、Perl、Python、Java、. net、MyODBC、Ruby、MySQL C连接器等)都可以不加修改地使用MariaDB。您应该注意PHP5的一些安装问题(旧的PHP5客户机如何检查库兼容性的一个bug)。
这意味着在很多情况下,你可以卸载MySQL并安装MariaDB,这样就可以了。
通常不需要转换任何数据文件。但是,您仍然必须运行mysql_upgrade来完成升级。
这是确保mysql特权和事件表使用MariaDB使用的新字段更新所必需的。我们每月都会合并MySQL代码库,以确保MariaDB有任何相关的bug修复添加到MySQL中。
也就是说,MariaDB有很多新的选项、扩展、存储引擎和修复MySQL中没有的bug。
你可以在不同的MariaDB发布页面上找到不同版本的特性集。
特定MariaDB版本的完全兼容性
就InnoDB而言,MariaDB 10.2、MariaDB 10.3和MariaDB 10.4是MySQL 5.7的有限替代。然而,在每一个新的MariaDB版本中,实现差异都在不断增加。
就InnoDB而言,MariaDB 10.0和MariaDB 10.1可以作为MySQL 5.6的有限替代。
但是,在某些特性中存在一些实现差异。MariaDB 5.5是MySQL 5.5的替代版本。
MariaDB 5.1、MariaDB 5.2和MariaDB 5.3可以作为MySQL 5.1的完全替代。
复制的兼容性
- 支持✅:这种组合。
- 不支持⛔:这种组合。
- ∗:Mariadb不能对mysql的组合进行任何断言。要确定受支持的组合,请参阅特定MySQL版本的文档。
注意:当以GTID模式从MySQL复制时,MariaDB将删除MySQL GTID事件,并将它们替换为MariaDB GTID事件。