Database Migration Service supports one-time and continuous migrations from source databases to Cloud SQL destination databases.
Supported source databases for MySQL include:
For MySQL 8.0 sources, Database Migration Service also supports the following minor versions: 8.0.18, 8.0.26, 8.0.27, 8.0.28, 8.0.30, 8.0.31, 8.0.32, 8.0.33, 8.0.34, 8.0.35, 8.0.36, 8.0.37, 8.0.39, 8.0.40, 8.0.41.
To configure a source database, complete the following steps:
mysql
, performance_schema
, information_schema
, ndbinfo
, or sys
system schemas, ensure that the replica databases also contain these system schema tables. If the replica databases don't have these tables, your migration job might fail with the Unknown table in system schema
error.
GTID_MODE
to ON
or OFF
. The GTID_MODE
value of ON_PERMISSIVE
isn't supported. The value you should use depends on the migration requirements:
GTID_MODE
to ON
.GTID_MODE
to ON
.GTID_MODE
, see Global Transaction ID System Variable.You must configure the user account used to connect to the source database to accept connections from anywhere (host = %
). Access can be restricted to this user in a later step.
To limit the possibility of compromising other aspects of the database, we recommend that you create a separate account for this purpose.
There are four types of combinations of migrations and dumps:
Privileges for each type of migration and dump combination are listed in the tabs below.
The user account that you configure must have the following privileges:
REPLICATION SLAVE
EXECUTE
SELECT
SHOW VIEW
REPLICATION CLIENT
RELOAD
TRIGGER
LOCK TABLES
MySQL version 8.0 or later: For optimal performance, make sure you don't grant the BACKUP_ADMIN
privilege to this account.
The user account that you configure must have the following privileges:
REPLICATION SLAVE
EXECUTE
The user account that you configure must have the following privileges:
SELECT
SHOW VIEW
TRIGGER
LOCK TABLES
GTID_MODE = ON
setting only)RELOAD
MySQL version 8.0 or later: For optimal performance, make sure you don't grant the BACKUP_ADMIN
privilege to this account.
No privileges are required.
To configure binary logs, expand the section for your source:
Depending on your MySQL version, specify a period with enough time for replication to occur:
expire_logs_days
expire_logs_days
, binlog_expire_logs_seconds
Binary logging is enabled by default on Microsoft Azure Database for MySQL. You don't need to enable it. For more information, see the Microsoft documentation.
Configure the following required parameters:
Set binlog_expire_logs_seconds
to a period that is long enough to support the database migration.
For more information, see Configure server parameters in Azure Database for PostgreSQL and the binlog_expire_logs_seconds
parameter in the Microsoft documentation.
For Amazon RDS, you set row-based configuration in the parameter group by configuring the binlog retention hours
parameter. This parameter is used to specify how many hours Amazon RDS should retain binary log files.
To set the retention period for binary logs in Amazon RDS, use the mysql.rds_set_configuration
stored procedure and specify a period with enough time for replication to occur. For example:
call mysql.rds_set_configuration('binlog retention hours',168);
For Amazon Aurora, follow these steps:
mysql> call mysql.rds_set_configuration('binlog retention hours', 168);
For Microsoft Azure Database for MySQL sources only: Check the value of your require_secure_transport
setting.
By default, Microsoft Azure databases require SSL/TLS encryption for all incoming connections. Depending on the require_secure_transport
value, use one of the following encryption settings when you create the source connection profile:
require_secure_transport
is set to on
, select Basic, TLS, or mTLS.require_secure_transport
is set to off
, select None.Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-04-17 UTC.