MariaDB
I’ve had this question several times when presenting and once via an internal email thread so I figure I might as well write about it:What is the default transactional engine in MariaDB 10.0? The answer is simple – it is XtraDB.
However this answer has some history: initial releases of MariaDB 10 actually shipped with InnoDB from MySQL 5.6. Only in 10.0.9 RC did the default switch back to being XtraDB. As MariaDB users previously know, XtraDB was the default InnoDB in 5.1, 5.2, 5.3, and 5.5 too. As always, you can switch easily between InnoDB/XtraDB – read more in:Using InnoDB instead of XtraDB.
How do you tell what version of InnoDB or XtraDB you are running? Simply, run: SHOW GLOBAL VARIABLES LIKE 'innodb_version';
MariaDB 10.0 (read more:What is 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 |
The asterisk (*) denotes the default engine choice.
Why are there odd InnoDB versions from 10.0.0 – 10.0.6? I can only point this to merge oddities.storage/innobase/include/univ.iis the file which contains common definitions such as INNODB_VERSION_MAJOR,INNODB_VERSION_MINORandINNODB_VERSION_BUGFIX.INNODB_VERSION_BUGFIXin 10.0.6 pointed toMYSQL_VERSION_PATCHwhich you get from theVERSIONfile. For XtraDB, you will also seePERCONA_INNODB_VERSIONinuniv.i.
So, when XtraDB is the default (10.0.9 and 10.0.10 and releases going forward) you can put in my.cnf to load InnoDB:
ignore_builtin_innodbplugin_load=innodb=ha_innodb.so
When InnoDB is the default (10.0.8 and 10.0.7) and XtraDB was merged, you can put in my.cnf to load XtraDB:
ignore_builtin_innodbplugin_load=innodb=ha_xtradb.so
Percona Server only became GA with5.6.13-61.0which was 7 Oct 2013 which explains why the MariaDB 10.0.6 beta didn’t include a XtraDB.
Percona Server only ships XtraDB (source code instorage/innobase) while MariaDB ships both InnoDB (storage/innobase) as well as XtraDB (storage/xtradb).
If you want older release information about InnoDB plugin versions, a great resource is Chris Calendar’s blog post:InnoDB Plugin Versions. I’m just glad that going forward the InnoDB version will just match the release version as you can see with 10.0.7 and later.