This page describes data migration options in Cloud SQL.

## Database Migration Service

When you use Database Migration Service, you can create the destination
Cloud SQL instance when you create a migration job.
Database Migration Service uses migration jobs to migrate data from your source database
instance to the destination Cloud SQL instance.
For more information, see
[Create a migration job to a new destination instance](https://docs.cloud.google.com/database-migration/docs/mysql/create-migration-job.md.txt).

However, you might want to create your destination Cloud SQL instance
outside of Database Migration Service. For example, you can use Terraform or
other Infrastructure-As-Code (IaC) tools. In that case, after creating the
Cloud SQL instance, you can still use Database Migration Service to migrate
data to it.
For more information, see
[Create a migration job to an existing destination instance](https://docs.cloud.google.com/database-migration/docs/mysql/create-migration-job-existing-instance.md.txt).

## Replicate from an external server

Another option for migrating data from an external server
into Cloud SQL is to use replication.
Cloud SQL supports various replication modes
to migrate data into your instance.

For more information, see [About replicating from an external server](https://docs.cloud.google.com/sql/docs/mysql/replication/external-server.md.txt).

To set up Cloud SQL for data migration by using replication, see
[Configure Cloud SQL and the external server for replication](https://docs.cloud.google.com/sql/docs/mysql/replication/configure-replication-from-external.md.txt).
Cloud SQL for MySQL also supports the migration of external MySQL databases from Percona XtraBackup physical files. By using physical files to set up replication instead of logical dump files, you can migrate your external MySQL databases into Cloud SQL for MySQL instances up to 3 times faster than using logical dump files in a parallel migration and up to 10 times faster than using logical dump files in a single-threaded migration.

<br />

For more information, see
[Migrate to Cloud SQL from an XtraBackup physical file](https://docs.cloud.google.com/sql/docs/mysql/migrate-xtrabackup-physical-file.md.txt).


## Limitations

- If your instance has customized backup settings (for example, a [custom backup location](https://docs.cloud.google.com/sql/docs/mysql/backup-recovery/backing-up#locationbackups)), then after you promote the instance, we recommend that you customize your backup settings again. During the promotion process, Cloud SQL resets your backup settings to their default values.