Migrate MariaDB at Percona

My case.
I have discovered this year Percona Server for MySQL.
After some successful testings of this solution, I met a problem for migrating a big database of Mariadb 10.4.27 at Percona 8.0.29.

I used various methods in order to migrate, but without results interesting.

First method, by exporting tablespace, this method failed :
ERROR 3949 (HY000): Failed to import database/table because the CFG file version (1953066341) is not compatible with the current version (5).

Second method by replication :
The replication seems not compatible between MariaDB 10.4 and Percona Server.
Last_SQL_Error: Relay log read failure: Could not parse relay log event entry. The possible reasons are: the master’s binary log is corrupted (you can check this by running ‘mysqlbinlog’ on the binary log), the slave’s relay log is corrupted (you can check this by running ‘mysqlbinlog’ on the relay log), a network problem, the server was unable to fetch a keyring key required to open an encrypted relay log file, or a bug in the master’s or slave’s MySQL code. If you want to check the master’s binary log or slave’s relay log, you will be able to know their names by issuing ‘SHOW SLAVE STATUS’ on this slave.

The last solution, is to make a dump with mysqldump. But this method is very very slow and need a very important downtime.

Do you have a solution please?

Thank you.

1 Like

From here, MariaDB versus MySQL - Compatibility - MariaDB Knowledge Base

MariaDB 10.2, MariaDB 10.3, and MariaDB 10.4 function as limited drop-in replacements for MySQL 5.7

You need to import tablespaces into Percona Server 5.7, not 8.0. After you have imported everything to PS 5.7, you can then upgrade from PS 5.7 to PS 8.0.

Second method by replication :

Are you using GTIDs? MariaDB’s GTID is incompatible with everyone else. You need to disable GTID and use traditional binlog coordinates.

1 Like

Thank you,

I think that your first solution is good.
I Imagine a method of migration in two steps ( by Inplace upgrade ) .

For the Second method, in the replication mode, I’m not using the GTID, but the ROW format for the binlogs.
I note an other problem , the next error :
2022-11-17T16:30:48.189589Z 39 [Warning] [MY-010445] [Repl] QUERY(COMMIT or ROLLBACK) or XID_LOG_EVENT is not expected in an event stream outside a transaction.
2022-11-17T16:30:48.189604Z 39 [Warning] [MY-010590] [Repl] An unexpected event sequence was detected by the IO thread while queuing the event received from master ‘mysql-bin.000006’ binary log file, at position 84913620.

A question for you,
The Mariadb 10.4 replication is compatible with Percona 5.7 ?

1 Like

It may not be. You should read over the link I provided above which lists out all the incompatibilities between MariaDB and everyone else.

1 Like

@matthewb Thank you for your answers.

1 Like