Select the right tools for migration to Azure Database for MySQL

APPLIES TO: Azure Database for MySQL - Single Server Azure Database for MySQL - Flexible Server

Migrations are multi-step projects that can be tough to complete. Migrating database servers across platforms involves more than data and schema migration. There are also several other components, such as server configuration parameters, networking, access control rules, etc., to move. These are required to ensure that the functionality of the database server in the new target platform mimics the source.

For detailed information and use cases about migrating databases to Azure Database for MySQL, refer to the Database Migration Guide. This document provides pointers to help you successfully plan and execute a MySQL migration to Azure.

In general, migrations can be categorized as either offline or online.

  • With an offline migration, the source server is taken offline, and a dump and restores of the databases are performed on the target server.

  • With an online migration (migration with minimal downtime), the source server allows updates, and the migration solution will take care of replicating the ongoing changes between the source and target server along with the initial dump and restore on the target.

If your application can afford some downtime, offline migrations are always the preferred choice, as they're simple and easy to execute. However, an online migration is the best choice if your application can only afford minimal downtime. Migrations of most OLTP systems, such as payment processing and e-commerce, fall into this category.

Decision table

There are both offline and online migration scenarios to help you select the right tools for migrating to Azure Database for MySQL - Flexible Server.

Offline

To help you select the right tools for migrating to Azure Database for MySQL, consider the detail in the following table for offline migrations.

Migration Scenario Tool(s) Details More information
Single to Flexible Server (Azure portal) Database Migration Service (classic) and the Azure portal Tutorial: DMS (classic) with the Azure portal (offline) Recommended
Single to Flexible Server (Azure CLI) Custom shell script Migrate from Azure Database for MySQL - Single Server to Flexible Server in five easy steps! The script also moves other server components such as security settings and server parameter configurations.
MySQL databases (>= 1 TB) to Azure Database for MySQL Dump and Restore using MyDumper/MyLoader + High Compute VM Migrate large databases to Azure Database for MySQL using mydumper/myloader Best Practices for migrating large databases to Azure Database for MySQL
MySQL databases (< 1 TB) to Azure Database for MySQL Database Migration Service (classic) and the Azure portal Migrate MySQL databases to Azure Database for MySQL using DMS (classic) If network bandwidth between source and target is good (e.g: High-speed express route), use Azure DMS (database migration service)
Amazon RDS for MySQL databases (< 1 TB) to Azure Database for MySQL MySQL Workbench Migrate Amazon RDS for MySQL databases ( < 1 TB) to Azure Database for MySQL using MySQL Workbench If you have low network bandwidth between source and Azure, use Mydumper/Myloader + High compute VM to take advantage of compression settings to efficiently move data over low speed networks
Import and export MySQL databases (< 1 TB) in Azure Database for MySQL mysqldump or MySQL Workbench Import/Export utility Import and export - Azure Database for MySQL Use the mysqldump and MySQL Workbench Export/Import utility tool to perform offline migrations for smaller databases.

Online

To help you select the right tools for migrating to Azure Database for MySQL - Flexible Server, consider the detail in the following table for online migrations.

Migration Scenario Tool(s) Details More information
Single to Flexible Server (Azure portal) Database Migration Service (classic) Tutorial: DMS (classic) with the Azure portal (online) Recommended
Single to Flexible Server Mydumper/Myloader with Data-in replication Migrate Azure Database for MySQL – Single Server to Azure Database for MySQL – Flexible Server with open-source tools N/A
Azure Database for MySQL Flexible Server Data-in replication Mydumper/Myloader with Data-in replication Configure Data-in replication - Azure Database for MySQL Flexible Server N/A

Next steps