使用Azure Database Migration Services迁移AWS RDS for MySQL到Azure DB for MySQL
前面和大家聊了,使用 Azure 数据库迁移服务可以将数据库从本地或运行在其他云中的 MySQL 实例迁移到 Azure Database for MySQL,并且停机时间最短。换句话说,可以在最短的应用程序停机时间内实现迁移。接下来我们将一起看下,如何使用 Azure 数据库迁移服务中的“在线迁移活动”将例数据库从AWS RDS for MySQL 8.0的 迁移到 Azure Database for MySQL 8.0
先决条件
在开始本次迁移演示之前,需要确保满足以下先决条件。
- 通过将 AWS 虚拟专用网关与 Azure VPN 网关连接,在 Azure 和 AWS 之间建立连接
- 由于 Azure Database for MySQL 仅支持 InnoDB 存储引擎,因此请将 ISAM 表转换为
- 创建目标 Azure Database for MySQL 灵活服务器
- 确保源服务器和目标服务器上的 sql_mode 参数设置为相同的值。
- 确保源服务器上的binlog_format不混合。
部署DMS服务
对于Azure DMS服务的部署,我们在之前的文章中已经该大家做了介绍,如果还没有了解过的小伙伴可以参考如下文章:
https://blog.51cto.com/wuyvzhang/10035218
配置数据库迁移
打开之前创建的DMS服务,点击新迁移项目:
在新建迁移项目页,需要提供如下信息:
- 项目名称:迁移项目提供名称
- 源服务器类型:支持的源数据库包括:SQL Server、MongoDB、MySQL、AWS RDS for MySQL、PostgreSQL、AWS RDS for PostgreSQL、Oracle 和
- 目标服务器类型:支持的目标服务器是 Azure SQL 虚拟机、Azure SQL 数据库托管实例、Azure SQL 数据库
- 活动类型:可用选项有:离线数据迁移、仅架构迁移、在线数据迁移和仅创建项目(供以后使用)。这里我们选择离线迁移
注意:使用 Azure 数据库迁移服务,可以执行离线或在线迁移。对于脱机迁移,应用程序停机时间在迁移开始的同时开始。要将停机时间限制为迁移完成后切换到新环境所需的时间,请使用在线迁移。建议测试离线迁移以确定停机时间是否可以接受;如果没有,请进行在线迁移
在此页面上,系统将要求提供有关源数据库服务器详细信息的信息。
- 源服务器名称:使用 MySQL 的完全限定域名 (FQDN)。在无法进行 DNS 名称解析的情况下,可以直接使用 IP 地址
- 服务器端口:设置MySQL服务的连接端口
- 用户名密码:用于身份验证的用户名和密码详细信息
启用加密连接以实现安全连接
配置目标Azure DB for MySQL信息并输入用户名和密码,点击下一步:
选择需要迁移的数据库,在此我们使用整个服务器的迁移方式,当然也可以具体精细到某个数据库:
根据实际需求,配置迁移设置:
确认无误后,设置活动名称,然后开始迁移:
开始全量迁移,等待迁移完成:
全量迁移完成后,会持续进行增量复制:
持续增量迁移到系统切换的时间点以后,可以点击 启动直接转换 来开始数据库的切换动作,此时DMS会进行最后一次增量数据的追加,帮助完成最终的数据库切换动作