Migration fidelity

Overview

When you're migrating your schema, data, and metadata from a source database to a destination database, you want to ensure that all of this information is migrated accurately. The Database Migration Service for MySQL provides a high-fidelity way to migrate database objects (including the schema, data, and metadata) from one database to another.

All of the following data, schema, and metadata components are migrated as part of the database migration:

Data

  • All tables from all databases and schemas, excluding the following system databases: sys, mysql, performance_schema, and information_schema.

Schema

  • Naming

  • Primary key

  • Data type

  • Ordinal position

  • Default value

  • Nullability

  • Auto-increment attributes

  • Secondary indexes

Metadata

  • Stored procedures

  • Functions

  • Triggers

  • Views

  • Foreign key constraints

Continuous migration

Data manipulation language (DML) and Data definition language (DDL) changes to all data, schemas, and metadata listed above are updated during continuous migrations.

What isn't migrated

When migrating a MySQL database, MySQL system databases aren't migrated. These databases contain information about users and privileges. Because of this, user account login information must be managed in the destination Cloud SQL database 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.

In addition to users and privileges, non-default flag settings aren't migrated to the Cloud SQL destination instance. Run SHOW VARIABLES on your source database before migrating your schema, data, and metadata to the destination database, and then run it again on the Cloud SQL database. Update flag settings as needed on the Cloud SQL database to replicate the source settings.