频道栏目
读书频道 > 数据库 > Mysql > 深入理解MariaDB与MySQL
1.2.4 各版本间的兼容性
2015-12-10 13:58:34     我来说两句
收藏   我要投稿

本文所属图书 > 深入理解MariaDB与MySQL

本书讲解了MariaDB的诞生背景及设计目的,并通过与MySQL的比较使读者轻松理解MariaDB。本书内容涉及MariaDB 5 1~10 0的各个方面,讲解重点在于MariaDB 10 0的各种实用功能。此外,MariaDB与MySQL有着紧密的联  立即去当当网订购

MariaDB 与MySQL 的大部分功能是类似的,相互具有良好的兼容性,相同的数据文件、日志文件几乎都可以在各版本之间正常使用。各版本兼容情况如表1-5 所示。事实上,MariaDB5.1、5.2、5.3 是基于MySQL 5.1 的源代码创建的, 而MariaDB 5.5 则基于MySQL 5.5、MariaDB 5.3 的代码创建而成。MariaDB 10.0 基于MariaDB 5.5 的代码,而非MySQL 5.6。


 

如表1-5 所示,MySQL 5.1 与MariaDB 5.1~5.3 兼容,MySQL 5.5 与MariaDB 5.5~10.0 兼容。此处的“兼容”是指,MariaDB 的各版本是在相应版本的MySQL 源代码基础上创建而成的,还表示大部分数据文件、客户端与服务器端的通信协议、相关实用工具均可通用。但是,MariaDB 与MySQL 也不完全一样。虽然它们大部分内容是相互兼容的,但是暴露给用户的部分仍存在差别,有些部分的操作也略有不同。下面看看各版本需要关注的部分。

1. MariaDB 5.1 与MySQL 5.1

MariaDB的安装程序(rpm或msi)名称由MySQL 变为MariaDB;

MariaDB的mysqld程序也可以从设置文件中识别“[mariadb]”节区;

处理CHECKSUM TABLE 命令时,MariaDB 不会忽略NULL列值,所以可能得到与MySQL不同的校验和;

MariaDB 的慢查询日志会将各查询的简单执行计划(关于执行全表扫描还是使用临时表等基本信息)一并显示;MariaDB 在内部使用Aria 存储引擎,而不是MyISAM 存储引擎,Aria 存储引擎占用的内存更多。

2. MariaDB 5.2 与MySQL 5.1(包含MariaDB 5.1 与MySQL 5.1 的不同)将IGNORE_BAD_TABLE_OPTIONS 选项添加到SQL_MODE。若没有该项,存在存储引擎无法识别的表选项时,将产生错误。

3. MariaDB 5.3 与MySQL 5.1(包含MariaDB 5.2 与MySQL 5.1 的不同)

仅在MariaDB中发生的错误代码从1900开始(防止与MySQL 错误号发生冲突);

借助DATETIME 与TIME 数据类型可以将时间精确到微秒级;

UNIX_TIMESTAMP() 函数返回的时间戳可以精确到小数点后6位;

SHOW PROCESSLIST 命令返回的结果中添加了Progress表项,用于显示查询处理进展情况;

IGNORE 选项在安全情形下被忽略,除此之外(发生FATAL错误时)会发生错误;

添加了大量查询优化器功能(optimizer_switch选项),增加了优化器优化方式调优功能。

4. MariaDB 5.5 与MySQL 5.5

INSERT IGNORE 中发生重复键错误时,会出现警告信息。以上简单介绍了MariaDB 与MySQL 各版本兼容与非兼容的内容。其实它们之间的非兼容部分非常少,从我多年的使用经验看,这些微小差异不会对主要功能的使用产生太大影响。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.2.3 不同点
下一篇:1.2.5 性能比较
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站