maria-discuss team mailing list archive
-
maria-discuss team
-
Mailing list archive
-
Message #01562
Re: MariaDB 10.0.10 - InnoDB confusion?
Hi!
On 8 May 2014, at 11:59, Charles Cazabon <charlesc-web-register-launchpad.net@xxxxxxxxxx> wrote:
> Greetings,
>
> I'm not sure if I'm doing something particularly stupid, but I'm having
> difficulty using InnoDB (the XtraDB version) with MariaDB v.10.0.10. The
> engine shows as disabled in my configuration for reasons I'm unclear on.
>
This is truly rather odd
> I'm using a mirror of the apt repository (from
> http://mariadb.org/mariadb/repositories/) on Ubuntu 14.04 server, running on
> x86_64. The currently installed version is 10.0.10+maria-1~trusty .
>
I did the same thing on a test box (fresh install of ubuntu 14.04 server)
> My configuration includes changing the default table type:
>
> # defaults to innodb
> default_storage_engine = aria
>
Why? (not that its a problem, just curious)
> That works as expected. However, when I create a table specifying
> `ENGINE=InnoDB`, the table is actually created as an Aria table, and a warning
> is logged:
>
>> show warnings;
> +---------+------+---------------------------------+
> | Level | Code | Message |
> +---------+------+---------------------------------+
> | Warning | 1286 | Unknown storage engine 'InnoDB' |
> +---------+------+---------------------------------+
>
> Sure enough, the InnoDB engine shows as not supported:
>
>> show engines;
> [...]
> | InnoDB | NO | Percona-XtraDB, Supports transactions.... |
>
> I haven't done anything specifically to disable XtraDB/InnoDB support.
On a good install (which seems to be the default), you will see:
*************************** 9. row ***************************
Engine: InnoDB
Support: DEFAULT
Comment: Percona-XtraDB, Supports transactions, row-level locking, and foreign keys
Transactions: YES
XA: YES
Savepoints: YES
My configuration (default my.cnf shipped in /etc/mysql/my.cnf) shows:
default_storage_engine = InnoDB
I change it to look like yours:
default_storage_engine = aria
And I still see support for InnoDB and Aria (just that aria is the default)
| InnoDB | YES | Percona-XtraDB, Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| Aria | DEFAULT | Crash-safe tables with MyISAM heritage | NO | NO | NO |
And i can create aria or innodb tables just fine
MariaDB [foo]> show create table test1;
+-------+--------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+--------------------------------------------------------------------------------------------------------+
| test1 | CREATE TABLE `test1` (
`a` int(11) DEFAULT NULL
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 |
+-------+--------------------------------------------------------------------------------------------------------+
1 row in set (0.02 sec)
MariaDB [foo]> show create table test2;
+-------+------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+------------------------------------------------------------------------------------------+
| test2 | CREATE TABLE `test2` (
`a` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-------+------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
>
> Looking through the documentation, knowledge basse, and mailing list archives
> hasn't turned up anything related. The only thing I found was this, in the
> documentation for the ignore_builtin_innodb variable:
>
> ignore_builtin_innodb
>
> Description: In older versions of MariaDB, setting this to 1 resulted in
> the built in InnoDB storage engine to be ignored. In MariaDB 5.5, InnoDB
> is the default and is always present, so this variable is ignored and
> setting it results in a warning. In MariaDB 10.0.x, this variable
> currently needs to be set.
>
> I'm not sure exactly what it means by saying it "needs to be set" with this
> version of MariaDB (doc bug?). If I add `ignore_builtin_innodb = 1` to my
> configuration, then the server refuses to start, complaining about
> unrecognized configuration options in the config, basically anything to do
> with innodb (innodb_file_per_table, innodb_checksum_algorithm, etc).
>
You don't need this. XtraDB is the default (and the built in innodb). You only do this if you are wanting to not use XtraDB but the InnoDB plugin provided by Oracle (i.e. what innodb ships in 5.6)
> Am I missing something? Is there a way to use Aria as the default table type
> while still allowing the use of XtraDB-provided InnoDB tables as well?
>
Yes, I showed above that it is fine
Can you try on a fresh machine/install because what you say is something I cannot repeat
Thanks
--
Colin Charles, Chief Evangelist, SkySQL - The MariaDB Company
blog: http://bytebot.net/blog/| t: +6-012-204-3201 | Skype: colincharles
Follow ups
References