We are trying to scope the work involved in migrating several dozen MariaDB instances to Percona. A few of the larger ones are master/slave configurations that use bin logging. I know that MariaDB has strayed from drop-in replacement for MySQL while Percona has not, but I am unsure what this may mean in terms of migration. We are confident that application level code is indifferent to which flavour is used, but I am unable to find through googling feature comparisons or even better tutorials on how to do this migration. We know we will need to change some of our scripts for configuring new servers. But are there going to be problems with binlog formats, or any other gotchas?
Background
We are looking to implement TDE (Transparent Data Encryption) to provide encryption of our data at rest. We currently use mainly MariaDB. Their documentation says that Eperi Gateway for Database can be used for key management, but we couldn’t find it on Eperi’s website anymore and when contacted MariaDB said it was no longer available but they had an in-house paid product. So now we are looking at Percona with Hashicorp Vault for key management.
Hello @JoeMurray,
The only issue I can think of off the top of my head is that MariaDB uses a different style of GTID for replication, so if you are using GTID, that might be an issue. You can still use traditional binlog positioning to replicate between MariaDB → Percona. That would be the recommended upgrade path as well, setting up Percona Server instances as replicas for your current sources then doing a cut-over.
What would be the steps to setup replication in a compatible way, and then do the switch?
And if I need to rollback, is it possible/easy to do the other way around to go back to MariaDB in case of an emergency, without losing the changes since the first migration?
(I don’t have replication at the moment; using MariaDB 10.8)
Hello @nunop,
You can setup replication from MariaDB → Percona MySQL just like any other, just be sure to disable GTID on MariaDB beforehand since MariaDB uses an incompatible sequence.
You would not need to rollback unless you cut-over your writes to the MySQL server. When you do that, switching back to MariaDB is difficult because now you have new data on MySQL that needs to be replicated back to MariaDB.