文档

入门第三步:自建数据库迁移上云

更新时间:

数据库迁移是一项复杂且耗时的工程,您不仅需要考虑迁移过程中数据的安全性和完整性,还需要评估因数据库迁移而导致的业务中断所带来的影响。为了更快捷、更平滑地完成数据库迁移任务,您可以使用阿里云数据传输服务DTS辅助您的迁移工作,其能在保证数据传输快速且完整的情况下,将应用停机时间降低到分钟级别,让您更专注于迁移后的业务发展。同时,您也可以对自建数据库进行全量备份,使用备份文件恢复数据库至RDS MySQL实例,实现数据库的间接迁移上云。

费用说明

  • 创建RDS MySQL实例会产生实例规格费用与存储费用,其与实例的付费方式、系列、规格、存储类型和存储空间大小等参数相关,详情请参见RDS MySQL计费项

  • (方法一:使用DTS迁移至RDS MySQL实例)使用DTS进行数据迁移时会产生链路配置费用,其与任务时间、链路规格等参数相关,详情请参见数据传输服务DTS计费项

  • (方法二:使用全量备份恢复至RDS MySQL实例)自建数据库全量备份上传至OSS会产生存储费用,详情请参见OSS存储费用

准备工作

您可以直接使用前两篇教程中创建的RDS MySQL实例进行本教程中的操作。如实例已释放,您可以再次购买RDS MySQL实例并创建高权限账号dbuser,详细教程请参见第一步:快捷创建RDS MySQL实例与配置数据库

方法一:使用DTS迁移至RDS MySQL实例

数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务,支持关系型数据库(RDBMS)、非关系型的数据库(NoSQL)、数据多维分析(OLAP)等数据源间的数据交互,集数据同步、迁移、订阅、集成、加工于一体,助您构建安全、可扩展、高可用的数据架构。

本教程以ECS自建数据库为例,展示如何创建与配置DTS数据迁移任务,将自建数据库平滑迁移至RDS MySQL实例。

说明
  • 从自建数据库向RDS MySQL迁移时,建议保持ECS实例与RDS实例在同一地域与同一VPC下(实例满足内网访问条件),使数据迁移过程更快速且稳定。

  • 使用DTS进行数据迁移时的相关限制和注意事项请参见从自建MySQL迁移至RDS MySQL实例

  1. 登录DMS数据管理服务

  2. 在顶部菜单栏选择集成与开发(DTS) > 数据传输(DTS) > 数据迁移。如果顶部没有菜单栏,可以在右上角退出极简模式image

  3. 单击创建任务跳转至任务配置页面。

  4. 配置源库与目标库信息。

    配置源库参数

    本教程中的源库指您的原业务数据库,即ECS实例中的自建数据库。

    • 数据库类型:选择MySQL

    • 接入方式:选择ECS自建数据库。根据部署位置的不同,自建数据库可以划分为部署在ECS的自建数据库部署在本地的自建数据库。针对不同场景,DTS提供了多种接入方式满足数据库迁移需求,详情请参见各接入方式准备工作

      自建库部署位置

      公网访问

      DTS接入方式(同迁移任务配置)

      ECS(已在云上)

      均可

      ECS自建数据库

      本地(未上云)

      具备公网地址

      公网IP

      不具备公网地址

      云企业网CEN数据库网关DG专线/VPN网关/智能网关

    • 实例地区:选择ECS实例所在地域。

    • ECS实例ID:在下拉列表中选择待迁移的ECS实例。

    • 端口:默认为3306

    • 数据库账号数据库密码:填写ECS自建数据库中用于数据迁移或拥有相关权限的账号和密码。如未准备,您可以新建账号并授予相关权限,详细步骤请参见为自建MySQL创建账号

    • 连接方式:如果自建数据库未开启SSL加密,选择非加密连接;如果已开启SSL加密,选择SSL安全连接,并上传CA 证书CA 密钥

    配置目标库参数

    本教程中的目标库指云数据库RDS MySQL实例,您需要将源库迁移至该数据库。

    • 数据库类型:选择MySQL

    • 接入方式:选择云实例

    • 实例地区:选择RDS实例所在地域,本教程以华东1(杭州)为例。

    • RDS实例ID:在下拉列表中选择准备工作中创建的RDS MySQL实例ID。

    • 数据库账号数据库密码:填写RDS MySQL实例中高权限账号和密码,本教程以dbuser和用户自定义密码为例。

    • 连接方式:本教程以非加密连接为例。如果选择SSL安全加密,您需要提前开启RDS MySQL实例的SSL加密功能,详情请参见使用云端证书快速开启SSL链路加密

  5. 单击测试连接以进行下一步。DTS会自动为ECS实例添加DTS安全组,并将DTS服务器IP添加至RDS实例白名单中,以允许DTS访问ECS实例和RDS实例。

  6. 配置任务对象。

    • 选择迁移类型。为了实现数据库平滑迁移,您需要勾选库表结构迁移全量迁移增量迁移。三种迁移方式的区别请参见迁移类型说明image

    • 源库对象中选择待迁移的数据库(本教程以wordpressdb为例),单击向右小箭头.png将其移动至已选择对象,然后单击下一步高级配置image

    • 高级配置页面中您无需进行参数选择,您可以直接使用默认的参数配置并单击下一步数据校验

    • 数据校验页面中勾选全量校验增量校验结构校验,然后单击下一步保存任务并预检查。三种数据校验方式详情请参见什么是数据校验

  7. 预检查通过率达到100%后,单击下一步购买

  8. 选择数据迁移实例的链路规格,本教程以small规格为例。阅读并选中《数据传输(按量付费)服务条款》,单击购买并启动

  9. 迁移任务正式开始,您可以单击迁移任务ID查看具体进度。当您看到如下界面,表示存量数据已迁移完成,增量数据会实时同步。image后续您可以验证全量数据和增量数据的迁移结果,确认无误后,您可以将业务流量切换至RDS MySQL实例,实现自建库迁移至RDS MySQL实例。

方法二:使用全量备份恢复至RDS MySQL实例

RDS MySQL支持全量备份导入与恢复功能。您可以使用Percona XtraBackup与MySQL Backup Helper工具对自建数据库进行全量备份并上传至OSS,然后将全量备份文件从OSS导入RDS控制台,通过数据库恢复功能将其恢复至新实例中,实现自建数据库间接迁移至RDS MySQL实例。详细操作请参见MySQL 5.7、8.0自建数据库全量上云

相关文档