完全替代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的完全替代。
复制的兼容性
Master→ | MariaDB-5.5 | MariaDB-10.1 | MariaDB-10.2 | MariaDB-10.3 | MariaDB-10.4 | MySQL-5.6 | MySQL-5.7 | MySQL-8.0 | |
---|---|---|---|---|---|---|---|---|---|
Slave ↓ | |||||||||
MariaDB-5.5 | ✅ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | |
MariaDB-10.1 | ✅ | ✅ | ✅ | ||||||
MariaDB-10.2 | ✅ | ✅ | ✅ | ✅ | ✅ | ||||
MariaDB-10.3 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |||
MariaDB-10.4 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||
MySQL-5.6 | ∗ | ∗ | ∗ | ||||||
MySQL-5.7 | ∗ | ∗ | ∗ | ||||||
MySQL-8.0 | ∗ | ∗ | ∗ |
- 支持✅:这种组合。
- 不支持⛔:这种组合。
- ∗:Mariadb不能对mysql的组合进行任何断言。要确定受支持的组合,请参阅特定MySQL版本的文档。
注意:当以GTID模式从MySQL复制时,MariaDB将删除MySQL GTID事件,并将它们替换为MariaDB GTID事件。
原文:https://mariadb.com/kb/en/library/mariadb-vs-mysql-compatibility/
本文:https://pub.intelligentx.net/mariadb-versus-mysql-compatibility
讨论:请加入知识星球或者小红圈【首席架构师圈】
最新内容
- 1 day ago
- 1 day 4 hours ago
- 1 day 5 hours ago
- 3 days 20 hours ago
- 4 days 4 hours ago
- 4 days 4 hours ago
- 4 days 5 hours ago
- 4 days 5 hours ago
- 1 week 1 day ago
- 1 week 1 day ago