I need to transfer a database to another server with hopefully 0 downtime.

I have Percona Mysql 8 on the destination and Mariadb on the source.

I have successfully used Percona XtraBackup to create a hot backup and restore it to the destination server, but this process took a few hours. About 95% of the database is on the destination, and I need to transfer over the remaining 5%. The longer I wait the more and more data (and time) it will take. Every day adds about 200MB of data.

At first I thought this would be great for a tool that can compare the differences and just apply them, such as https://www.webyog.com/product/sqlyog but unforunately I am working with them on a bug that prevent mariaDb to transfer to Mysql 8 servers.

I have a pretty fast connection between the two servers (~50MB/sec). I considered using mysqldump but every time it chokes and fails because the database is so large. (see this SO for details). I can't just use the primary keys of each table and just transfer that over, because there are modifications that have occurred all over and to existing rows that the were backed up

I am not interested in replication recommendations because this is a one time effort (I will setup master/slave replication in the future)

  • But Replication gives you ways to take a backup with nearly zero downtime. (Eg, backup the Slave without touching the Master.) – Rick James Jun 2 '20 at 23:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.