玛丽亚数据库
我在演示时多次遇到过这个问题,一次是通过内部电子邮件线程提出的,所以我想我不妨写一下:MariaDB 10.0 中的默认事务引擎是什么? 答案是很简单——它就是 XtraDB。
但是这个答案有一些历史:MariaDB 10 的初始版本实际上附带了 MySQL 5.6 的 InnoDB。仅在 10.0.9 RC 中,默认切换回 XtraDB。正如 MariaDB 用户之前所知,XtraDB 也是 5.1、5.2、5.3 和 5.5 中默认的 InnoDB。与往常一样,您可以在 InnoDB/XtraDB 之间轻松切换 - 阅读更多内容:使用 InnoDB 而不是 XtraDB。
如何判断您正在运行的 InnoDB 或 XtraDB 版本?只需运行:SHOW GLOBAL VARIABLES LIKE 'innodb_version';
MariaDB 10.0(了解更多:什么是 MariaDB 10.0):
Version | InnoDB | XtraDB | Status | Date |
10.0.10 | 5.6.15 | 5.6.15-63.0* | GA | 31 Mar 2014 |
10.0.9 | 5.6.15 | 5.6.15-63.0* | RC | 10 Mar 2014 |
10.0.8 | 5.6.14* | 5.6.14-62.0 | RC | 10 Feb 2014 |
10.0.7 | 5.6.10* | 5.6.14-62.0 | Beta | 27 Dec 2013 |
10.0.6 | 1.2.6 * | n/a | Beta | 18 Nov 2013 |
10.0.5 | 1.2.5 * | n/a | Beta | 7 Nov 2013 |
10.0.4 | 1.2.4 * (5.6.10merge) | n/a | Alpha | 16 Aug 2013 |
10.0.3 | 10.0.3-MariaDB * | n/a | Alpha | 11 Jun 2013 |
10.0.2 | 10.0.2-MariaDB * | n/a | Alpha | 24 Apr 2013 |
10.0.1 | 1.2.1 * | n/a | Alpha | 6 Feb 2013 |
10.0.0 | 1.2.0 (5.6.5merge) | n/a | Alpha | 12 Nov 2012 |
星号 (*) 表示默认引擎选择。
为什么 10.0.0 – 10.0.6 之间会有奇怪的 InnoDB 版本?我只能指出这个来合并奇怪的东西。storage/innobase/include/univ.i是包含常见定义的文件,例如INNODB_VERSION_MAJOR,INNODB_VERSION_MINOR和INNODB_VERSION_BUGFIX。10.0.6 中的INNODB_VERSION_BUGFIX指向从VERSION文件中获取的MYSQL_VERSION_PATCH。对于 XtraDB,您还将在 univ.i 中看到 PERCONA_INNODB_VERSION。
因此,当 XtraDB 为默认值时(10.0.9 和 10.0.10 以及后续版本) )你可以放入my.cnf来加载InnoDB:
ignore_builtin_innodbplugin_load=innodb=ha_innodb.so
当InnoDB是默认的(10.0.8和10.0.7)并且XtraDB被合并时,你可以放入my.cnf来加载XtraDB :
ignore_builtin_innodbplugin_load=innodb=ha_xtradb.so
Percona Server 仅在 2013 年 10 月 7 日的 5.6.13-61.0 中成为 GA,这解释了为什么 MariaDB 10.0.6 beta 不包含 XtraDB。
仅限 Percona Server提供 XtraDB(storage/innobase 中的源代码),而 MariaDB 提供 InnoDB(storage/innobase)和 XtraDB(storage/xtradb)。
如果您想要有关 InnoDB 插件版本的旧版本信息,Chris Calendar 的博客文章是一个很好的资源:InnoDB 插件版本。我很高兴 InnoDB 版本将与发布版本相匹配,正如您在 10.0.7 及更高版本中看到的那样。