

# Migrating a MariaDB Database to Amazon RDS for MySQL or Amazon Aurora MySQL
<a name="chap-mariadb2auroramysql"></a>

You can migrate data from existing on-premises MariaDB or [Amazon RDS for MariaDB](https://www.amazonaws.cn/rds/mariadb/?nc=sn&loc=3&dn=4) to [Amazon Aurora](https://www.amazonaws.cn/rds/aurora/) MySQL using [Database Migration Service](https://www.amazonaws.cn/dms/). Amazon Aurora is a MySQL and PostgreSQL-compatible relational database built for the cloud. Amazon Aurora features a distributed, fault-tolerant, self-healing storage system that auto-scales up to 64 TB per database instance. It delivers high performance and availability with up to 15 low-latency read replicas, point-in-time recovery, and continuous backup to Amazon S3, and replication across three Availability Zones (AZs).

Some key features offered by Aurora MySQL are the following:
+ High throughput with low latency
+ Push-button compute scaling
+ Storage autoscaling
+ Custom database endpoints
+ Parallel queries for faster analytics

In the following sections, we demonstrate migration from MariaDB as a source database to an Aurora MySQL database as a target using Amazon DMS. At a high level, the steps involved in this migration are:
+ Provision MariaDB as a source DB instance and load the data
+ Provision Aurora Mysql as target DB instance
+ Provision DMS replication instance and create DMS endpoints
+ Create DMS task, migrate data and perform validation

For the purpose of this section, we are using the Amazon CloudFormation templates for creating Amazon RDS for MariaDB, Aurora MySQL database and Amazon DMS replication instance with their source and endpoints. We will be loading sample tables and data in MariaDB located on [GitHub](https://github.com/aws-samples/aws-database-migration-samples).

To estimate what it will cost to run this walkthrough on Amazon, you can use the Amazon Pricing Calculator. For more information, see [https://calculator.aws/](https://calculator.aws/).

**Topics**
+ [Set up MariaDB as a source database](chap-mariadb2auroramysql.provisioningmariadb.md)
+ [Set up Aurora MySQL as a target database](chap-mariadb2auroramysql.provisioningauroramysql.md)
+ [Set up an Amazon DMS replication instance](chap-mariadb2auroramysql.provisioningdms.md)
+ [Test the endpoints for MariaDB database migration](chap-mariadb2auroramysql.testendpoints.md)
+ [Create a migration task for a MariaDB database](chap-mariadb2auroramysql.createtask.md)
+ [Validate the MariaDB database migration](chap-mariadb2auroramysql.validate.md)
+ [Cut over for the migration from a MariaDB database](chap-mariadb2auroramysql.cutover.md)