Database Migration Service for MySQL FAQ

What is Database Migration Service?
Database Migration Service is a service that makes it easy to migrate your on-premises relational databases to Cloud SQL.
What sources are supported?
  • RDS 5.6, 5.7, 8.0
  • Self-managed (on premises, on any cloud VM) 5.5, 5.6, 5.7, 8.0
  • Cloud SQL 5.6, 5.7, 8.0
  • Amazon Aurora 5.6, 5.7
What destinations are supported?
  • Cloud SQL for MySQL 5.6, 5.7, 8.0
Is there cross-version support?
Database Migration Service supports MySQL to Cloud SQL for MySQL migrations where the destination is the same version or one version higher than the source database. For example, migrate a MySQL 5.6 source database to either a Cloud SQL for MySQL 5.6 or 5.7 destination.
What data, schema, and metadata components are migrated?
Database Migration Service migrates schema, data, and metadata from the source to the destination. All of the following data, schema, and metadata components are migrated as part of the database migration:

Data Migration
  • All tables from all databases/schemas.
Schema Migration
  • Naming
  • Primary key
  • Data type
  • Ordinal position
  • Default value
  • Nullability
  • Auto-increment attributes
  • Secondary indexes
Metadata Migration
  • Stored Procedures
  • Functions
  • Triggers
  • Views
  • Foreign key constraints
What changes are replicated during continuous migration?
DML and DDL changes (that is, changes to all data, schema, and metadata listed above) are updated during continuous migrations.
What isn't migrated?

When migrating a MySQL database, the MySQL system databases which contain information about users and privileges aren't migrated. This means that user account/login information must be managed in the destination Cloud SQL instance directly.

To add users to the Cloud SQL destination instance, navigate to the instance and add users from the Users tab, or add them from the MySQL client.

Learn more about creating and managing MySQL users.

What networking methods are used?
To create a migration in Database Migration Service, connectivity must be established between the source and the Cloud SQL destination instance. There are a variety of methods supported. Choose the one that works best for the specific workload.
Networking method Description Pros Cons
IP allowlist Works by configuring the source database server to accept connections from the public IP of the Cloud SQL instance. If you choose this method, then Database Migration Service guides you through the setup process during the migration creation.
  • Easy to configure.
  • Recommended for short-lived migration scenarios (POC or small database migrations).
  • Firewall configuration may require assistance from IT.
  • Exposes the source database to a public IP.
  • The connection isn't encrypted by default. Requires enabling SSL on the source database to encrypt the connection.
Reverse SSH tunnel through cloud-hosted VM Establishes connectivity from the destination to the source through a secure reverse SSH tunnel. Requires a bastion host VM in the GCP project and a machine (for example, a laptop on the network) that has connectivity to the source. Database Migration Service collects the required information at migration creation time, and auto-generates the script for setting it up.
  • Easy to configure.
  • Doesn't require any custom firewall configuration.
  • Recommended for short-lived migration scenarios (POC or small database migrations).
  • You own and manage the Bastion VM.
  • May incur additional costs.
VPC peering This method works by configuring the VPCs to communicate with one another. This is only applicable if both the source and destination are hosted in Google Cloud. Recommended for long-running or high-volume migrations.
  • Google Cloud solution.
  • Easy to configure.
  • High-bandwidth
Only available when the source is hosted in Google Cloud.
VPN Sets up an IPSec VPN tunnel connecting the internal network and Google Cloud VPC through a secure connection over the public Internet. Use Google Cloud VPN or any VPN solution that is set up for the internal network.
  • Robust and scalable connectivity solution.
  • Medium-high bandwidth.
  • Security built-in.
  • Offered as Google Cloud solutions or from other 3rd parties.
  • Additional cost.
  • Non-trivial configuration (unless already in-place).
Cloud Interconnect Uses a highly available, low latency connection between the on-premises network and Google Cloud. Highest bandwidth, ideal for long-running high-volume migrations.
  • Additional cost.
  • Connection isn't secure by default.
  • Non-trivial configuration (unless already in-place).
What are the known limitations?
See Known limitations.