MariaDB Replication – Unknown System Variable ‘server_uuid’

mariadbmaster-slave-replicationMySQLreplicationuuid

Im trying to setup replication between mariadb(10.1.31-MariaDB - MASTER) and mysql(5.7.12-log - SLAVE). After executed the start slave, I got the below error.

Fatal error: The slave I/O thread stops because a fatal error is
encountered when it tries to get the value of SERVER_UUID variable
from master.

Then I tried to get the value of master_uuid.

MariaDB [(none)]> show variables like '%server_uuid%';
Empty set (0.00 sec)

Then tried to setup this in mysql prompt.

MariaDB [(none)]> set global  server_uuid = 11123c25-cac0-3523-8089-4c54d9b46f33;
ERROR 1193 (HY000): Unknown system variable 'server_uuid'

And also I tried to setup auto.cnf in data directory.

[auto]
server_uuid = 11123c25-cac0-3523-8089-4c54d9b46f33

chmod 644 auto.cnf

But still im getting the fatal error is encountered when it tries to get the value of SERVER_UUID variable from master.

Best Answer

MariaDB doesn't have that variable, MySQL has. MariaDB is not a drop-in replacement for MySQL. The error you see makes me think that replication from 10.1 to 5.7 is not possible.

One could investigate more, but take a look at this compatibility table: there is not an explicit incompatibility statement, but at least they don't guarantee that replicating from 10.1 to 5.7 is possible.

Even if you choose to assume that such replication is possible and find a way to set it up, MySQL supports some syntax that MariaDB 10.1 does not support - not because it's more advanced, but because they took different directions. Such statements will break replication.