MariaDB之与MySQL的兼容性比较

MariaDB之与MySQL的兼容性比较

MariaDB是为了替换MySQL的一个二进制发行版本

因为各种现实原因,MariaDB是用来替换同版本的MySQL的不同的二进制发行版本(如MySQL5.1MariaDB5.1/5.2/5.3都是兼容的,MySQL5.5MariaDB5.5是兼容的,实际上它与MariaDB10.0也同样兼容)。这意味着:

  • 数据和表定义文件(.frm)是二进制兼容的

    • 后文会介绍具体的不兼容特性

  • 全部的客户端API、协议在结构上是一致的

  • 全部的文件名称、二进制、路径、端口、套接字等等,都应该是相同的

  • 全部的MySQL驱动(PHPPerlPythonJava.NETMyODBCRubyMySQLC等等)在MariaDB中不需要修改即可使用

    • 在与PHP5集成时有已知的安装问题(老版本的PHP5客户端会检查依赖库的兼容性存在缺陷)

  • mysql-client包在MariaDB中同样工作

  • 共享的client库与MySQLclient库二进制兼容

这意味着大多数情况下,你可以轻松卸载MySQL并安装MariaDB,建议你这么做。(无需转换任何数据文件如果你使用的主版本号完全一致,如5.1.然而,你仍然需要通过执行mysql_upgrade来完成升级。这可以保证msyql的权限表和事件表得到更新以包含MariaDB新增的字段。

我们通过每个月将MySQL的代码合入到MariaDB来保证我们与MySQL的兼容性同时也会将OracleMySQL上所做的缺陷修改和新增特性加入到MariaDB中。

我们做了大量的工作来更新升级脚本,现在使用升级脚本将MySQL5.0升级到MariaDB5.1将会比升级到MySQL5.1更加容易.

换言之,MariaDB拥有很多的新增选项、扩展、存储引擎、在MySQL中还未修改的缺陷。你可以在MariaDB分布页面找到不同版本间特性差异。

MariaDB5.1MySQL5.1的不兼容性

在一些极少的情况下,MariaDB必须牺牲于MySQL的兼容性来提供更多更好的信息,下文列出了使用MariaDB5.1替换MySQL5.1的过程中所有已知的用户级不兼容性:

  • 安装包名以MariaDB打头而非MySQL

  • 计时不同,因为MariaDB在很多情况下比MySQL更快

  • mysqld在读取my.cnf配置文件时也会读取mariadb

  • 不能使用与MariaDB不同版本的MySQL的二进制存储引擎库与MariaDB协同工作。(这是因为服务器内部结构THD对于MariaDB

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值