Replication on MariaDB 10 with InnoDB disabled

Asked by zingaburga on 2014-07-16

I've got a MariaDB 5.5.34 master replicating to a MariaDB 10.0.12 slave.
All the tables being replicated use the Aria storage engine, and InnoDB is completely disabled on both installations.

I used the 'master_use_gtid=no' option for the CHANGE MASTER TO query.
After setting up replication, I noted the following error was displayed in SHOW SLAVE STATUS

Unable to load replication GTID slave state from mysql.gtid_slave_pos: Unknown storage engine 'InnoDB'

Replication itself appears to be working, and I do not want to use GTID replication at all. Would this error cause any issues or could it be safely ignored?

Is there any way to completely disable GTID or is the 'master_use_gtid=no' option enough? I do plan to eventually upgrade the master to MariaDB 10 so want to know if there's any potential issues.


Question information

English Edit question
MariaDB Edit question
No assignee Edit question
Solved by:
Kristian Nielsen
Last query:
Last reply:
Best Kristian Nielsen (knielsen) said : #1

I think the problem is that the table mysql.gtid_slave_pos is using the InnoDB
storage engine, but InnoDB is disabled, as you wrote.

Probably you had InnoDB enabled when the mysql.gtid_slave_pos table was
created during installation or upgrade.

To fix, temporarily enable InnoDB, and then ALTER TABLE mysql.gtid_slave_pos
ENGINE=Aria. (You can use another engine, but you said Aria was the storage
engine used for other tables, and it's best to use the same engine for this

You should probably also check for other tables in the mysql schema that might
still be using InnoDB storage engine.

Using master_use_gtid=no is sufficient to not use GTID for replication (and
it's the default anyway), also when upgrading master to 10.0.

zingaburga (zingaburga) said : #2

Ah, thanks a lot for all the information Kristian!
Switching it to Aria did indeed get rid of that error.

I installed MariaDB via the package manager, which would've installed all the InnoDB stuff before I disabled it in the config. There's still innodb_index_stats and innodb_table_stats that still use the InnoDB engine, but since I don't use InnoDB, I presume that I can ignore it.

zingaburga (zingaburga) said : #3

Thanks Kristian Nielsen, that solved my question.