# Migration MariaDB Galera cluster to Percona XtraDB cluster 8.x

**URL:** <https://forums.percona.com/t/migration-mariadb-galera-cluster-to-percona-xtradb-cluster-8-x/37034>\
**Category:** Percona XtraDB Cluster 8.x\
**Created:** [March 4, 2025, 9:01am UTC](https://forums.percona.com/t/migration-mariadb-galera-cluster-to-percona-xtradb-cluster-8-x/37034 "2025-03-04T09:01:40Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![IgorDmitrenko](https://avatars.discourse-cdn.com/v4/letter/i/fbc32d/32.png) [@IgorDmitrenko](https://forums.percona.com/u/IgorDmitrenko)\
**Post date:** [March 4, 2025, 9:01am UTC](https://forums.percona.com/t/migration-mariadb-galera-cluster-to-percona-xtradb-cluster-8-x/37034/1 "2025-03-04T09:01:40Z")

</div>

Hi all.  
I have a MariaDB (10.7.3) Galera cluster with multiple masters and three nodes and I want to migrate to a Percona XtraDB cluster. What is the easiest way to do this with minimal downtime?

---

<div class="post-metadata">

**Author:** ![anil.joshi](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/anil.joshi/32/13100_2.png) [@anil.joshi](https://forums.percona.com/u/anil.joshi)\
**Post date:** [March 4, 2025, 2:08pm UTC](https://forums.percona.com/t/migration-mariadb-galera-cluster-to-percona-xtradb-cluster-8-x/37034/2 "2025-03-04T14:08:46Z")

</div>

@IgorDmitrenko

Since MariaDB and MySQL/PXC having big differences especially around 10.0,10.2 which make it nearly hard to use as a direct drop-in-replacement so the better way to do such migration would be using the logical way ([mydumper](https://github.com/mydumper/mydumper), mysqldump) or the [MySQL shell utilities](https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-dump-instance-schema.html) which comes with parallel processings like [mydumper](https://github.com/mydumper/mydumper) to fasten the overall process.

Based on method you choose for the **logical backup/restore** you can also try building a temporary async replication (MariaDB =\> MySQL/PXC) for the cut-over activity if it allows.

You might find this blogpost - [Migrating From MariaDB to Percona Server for MySQL 8: The Security Witchcraft](https://www.percona.com/blog/migrating-from-mariadb-to-percona-server-for-mysql-8-security) useful.

Well you need a through testing of all the process for a couple of times in order to decide the final path as the changes between both the versions are quite huge.

Moreover, you should be reading this before planning for the upgrade.

- List item

> **[Incompatibilities and Feature Differences Between MariaDB 10.7 and MySQL 8.0](https://mariadb.com/kb/en/incompatibilities-and-feature-differences-between-mariadb-10-7-and-mysql-8-/)**
>
> List of incompatibilities and feature differences between MariaDB 10.7 and MySQL 8.0.

- List item

> **[Function Differences Between MariaDB 10.7 and MySQL 8.0](https://mariadb.com/kb/en/function-differences-between-mariadb-10-7-and-mysql-8-0/)**
>
> Functions present in MariaDB 10.7 and not present in MySQL 8.0 and vice-versa.

---

<div class="post-metadata">

**Author:** ![IgorDmitrenko](https://avatars.discourse-cdn.com/v4/letter/i/fbc32d/32.png) [@IgorDmitrenko](https://forums.percona.com/u/IgorDmitrenko)\
**Post date:** [March 4, 2025, 2:17pm UTC](https://forums.percona.com/t/migration-mariadb-galera-cluster-to-percona-xtradb-cluster-8-x/37034/3 "2025-03-04T14:17:44Z")

</div>

Ohhh. Thanks a lot for the information!!! I will read all now!!!

---

<div class="post-metadata">

**Author:** ![IgorDmitrenko](https://avatars.discourse-cdn.com/v4/letter/i/fbc32d/32.png) [@IgorDmitrenko](https://forums.percona.com/u/IgorDmitrenko)\
**Post date:** [March 6, 2025, 5:50pm UTC](https://forums.percona.com/t/migration-mariadb-galera-cluster-to-percona-xtradb-cluster-8-x/37034/4 "2025-03-06T17:50:14Z")

</div>

@anil.joshi , hi again.  
I tried to add MySQL XTRADB node to running MariaDB galera cluster as slave using gtid.  
After successful configuration and startup I get the following error on the slave server: “The replication receiver thread cannot start because the source has GTID\_MODE = OFF and this server has GTID\_MODE = ON.”  
But on the master server I have the GTID mode enabled, though in maria it is called wsrep\_gtid\_mode.  
I assume I’m running into the problem described in this thread: [Integrate replication to percona operator pxc cluster frm existing mysql cluster](https://forums.percona.com/t/integrate-replication-to-percona-operator-pxc-cluster-frm-existing-mysql-cluster/17830)  
Am I correct in understanding that this cannot be done using asynchronous replication in my current configuration?  
Thanks.

---

<div class="post-metadata">

**Author:** ![anil.joshi](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/anil.joshi/32/13100_2.png) [@anil.joshi](https://forums.percona.com/u/anil.joshi)\
**Post date:** [March 28, 2025, 4:48pm UTC](https://forums.percona.com/t/migration-mariadb-galera-cluster-to-percona-xtradb-cluster-8-x/37034/5 "2025-03-28T16:48:46Z")

</div>

@IgorDmitrenko

Basically there is a huge variance in how the GTID’s are made in both MariaDB and MySQL which makes them incompatible. You might try using the native **MASTER\_LOG\_FILE** and **MASTER\_LOG\_POS** way instead of GTID. Otherwise if the data size is not a big concern a simple logical dump/restore should be a more better approach as I mentioned previously.

**MySQL:**  
00022435-1111-1111-1111-111111111111:1-69824

vs

**MariaDB:**  
0-1-10

Even if the data set is big/challenging then multi-threaded capability tools like mydumper and mysqlshell utilities make the logical restore much faster compared to the old mysqldump. So, you can explore them as well.
