【MySQL架构】MariaDB versus MySQL: Compatibility

Chinese, Simplified

完全替代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

讨论:请加入知识星球或者小红圈【首席架构师圈】

SEO Title
MariaDB versus MySQL: Compatibility