数据库迁移上云

数据传输服务 DTS

  • 任务管理
    • 任务限速
    • 修改迁移任务的当前位点
    • 查看任务进度
    • 创建类似任务
    • 一键反向
    • 管理任务对象
      • 同步Online DDL
      • 迁移数据库账号
      • 修改同步对象
      • 传输对象范围
      • 设置过滤条件
      • 库表列名映射
    • 生命周期
      • 结束任务
      • 删除任务
      • 暂停任务
      • 变更任务链路规格
      • 启动任务
  • API3.0
    • 调用说明
    • API概览
    • 目录
    • 数据传输任务
      • 结束任务
      • 更新任务名称
      • 暂停任务
      • 查询前置检查结果
      • 释放任务
      • 修改同步对象
      • 修改同步对象记录
      • 创建任务
      • 前置检查
      • 强制跳过预检查
      • 查询任务列表
      • 变更链路规格
      • 配置任务
      • 查询任务信息
      • 启动任务
      • demo
        • 专线迁移Redis Cluster迁移到云数据库Redis企业集群版-一键反向
        • 专线迁移MongoDB副本集迁移到云数据库MongoDB副本集
        • 专线迁移Redis Cluster迁移到云数据库Redis标准版
        • 专线迁移Redis Cluster迁移到云数据库Redis标准版-数据校验
        • 专线迁移Redis Cluster迁移到云数据库Redis企业集群版-数据校验
        • 公网sql迁移到公网kafka
        • 专线迁移Redis标准版迁移到云数据库Redis标准版-一键反向
        • 专线迁移的MongoDB分片集迁移到云数据库MongoDB分片集-数据校验
        • 专线迁移MongoDB副本集迁移到云数据库MongoDB副本集-一键反向
        • 专线迁移MySQL迁移到云数据库RDS-一键反向
        • 专线迁移的Redis标准版迁移到云数据库Redis标准版-数据校验
        • 专线迁移MySQL迁移到云数据库RDS-数据校验
        • 专线迁移MongoDB分片集迁移到云数据库MongoDB分片集
        • 专线迁移MongoDB副本集迁移到云数据库MongoDB副本集-数据校验
        • 专线迁移MySQL迁移到云数据库RDS
        • 专线迁移Redis Cluster迁移到云数据库Redis企业集群版
        • 专线迁移Redis标准版迁移到云数据库Redis标准版
      • 其他
        • 一键反向查询前置检查结果
        • 展示授权白名单
        • 一键反向延迟检查
        • 获取订单状态
        • 配置一键反向
        • 查询vpc列表
        • 查询MySQL实例拥有的账号列表
        • 绑定&解除标签
        • 查询可用区列表
        • 检查数据库连通性
        • 一键反向
      • 数据校验
        • 查询数据校验任务列表
        • 数据校验任务启动
        • 创建数据校验任务
        • 配置数据校验任务
        • 停止校验
        • 查看数据校验比对结果
        • 数据校验前置检查
        • 查看数据校验任务信息
  • 监控报警
    • 查看任务监控
    • 设置报警策略
  • 产品计费
    • 计费概述
    • 到期或欠费说明
    • 计费方式
    • 变更和退订说明
  • 数据校验
    • 配置数据校验
    • 查看数据校验
    • 数据校验概述
  • Java_SDK
    • SDK下载页
    • 安装-DTS-Java-SDK
    • 使用数据订阅SDK
    • SDK接口简介
    • SDK下载
    • 概述
  • 快速入门
    • 购买流程
    • 数据迁移操作指导
    • 配置迁移任务
  • 典型实践
    • 使用NimoShake将Amazon DynamoDB迁移至百度云DocDB
    • 不同库名间的数据同步
    • 获取主账号ID
    • 使用DTS实现目标端为Elasticsearch的数据迁移
    • 使用DTS实现MySQL数据拆分
    • 数据库迁移上云
    • 业务切换流程
    • DTS支持专线迁移
    • DTS支持专线迁移(新)
    • 修改RDS MySQL参数提升迁移性能
    • MySQL实例的双向同步
  • 准备工作
    • 自建MySQL创建账号并设置binlog
    • 迁移评估
      • 源端MySQL迁移评估
    • 网络准备
      • 网络准备概述
      • VPC接入
      • 添加DTS服务IP白名单
      • 本地IDC接入百度智能云
        • VPN接入
        • 专线接入
        • 公网接入
    • 访问控制
      • 子用户权限管理
  • 产品简介
    • 支持的数据流
    • 功能概览
    • 基本概念
    • 产品优势
    • 架构原理
    • 应用场景
    • 什么是数据库传输服务DTS
    • 链路规格说明
  • 数据迁移
    • 跨账号迁移云数据库实例
    • 迁移方案概览
    • TiDB为源的迁移
      • 自建TiDB迁移至GaiaDB
    • Oracle为源的迁移
      • 自建Oracle迁移至RDS MySQL
    • GaiaDB为源的迁移
      • GaiaDB实例间的迁移
    • MySQL为源的迁移
      • 腾讯云MySQL迁移至RDS MySQL
      • RDS MySQL迁移至GaiaDB
      • 自建MySQL迁移至GaiaDB
      • 自建MySQL迁移至RDS MySQL
      • 阿里云PolarDB迁移至GaiaDB
      • RDS MySQL实例间的迁移
      • 阿里云MySQL迁移至RDS MySQL
      • MySQL迁移至Kafka
    • 异构数据库间的数据类型映射关系
      • 百度智能云DTS数据类型
      • DTS支持的数据源端
        • 将Kafka作为源端
        • 将Redis标准版作为源端
        • 将GaiaDB作为源端
        • 将Oracle作为源端
        • 将SQL Server作为源端
        • 将云上百度DRDS作为源端
        • 将MongoDB分片集作为源端
        • 将PostgreSQL作为源端
        • 将MongoDB副本集作为源端
        • 将MySQL作为源端
      • DTS支持的数据目的端
        • 将SQL Server作为目标端
        • 将Elasticsearch作为DTS目的端
        • 将GaiaDB作为目标端
        • 将Palo作为目标端
        • 将DataHub作为目标端
        • 将PostgreSQL作为目标端
        • 将MySQL作为目标端
        • 将Kafka作为DTS目标端
    • SQL Server 为源的迁移
      • 自建SQL Server迁移至RDS SQL Server
    • MongoDB为源的迁移
      • 自建MongoDB分片集迁移至DocDB MongoDB
      • DocDB MongoDB副本集迁移至DocDB MongoDB
    • Kafka为源的迁移
      • 自建Kafka迁移至消息服务 for Kafka
    • PostgreSQL为源的迁移
      • RDS PostgreSQL实例间的迁移
      • 自建PostgreSQL迁移至RDS PostgreSQL
      • AWS PostgreSQL迁移至RDS PostgreSQL
    • Redis为源的迁移
      • 使用DTS实现自建Redis标准版到百度智能云SCS for Redis标准版的数据迁移
      • 云数据库Redis实例间的迁移
      • 自建Redis迁移至云数据库Redis(含PegaDB)
    • Milvus为源的迁移
      • 自建 Milvus 迁移至向量数据库 VectorDB
  • 产品动态
    • 功能发布记录
    • 公告
      • 数据传输服务DTS支持多规格数据传输任务
      • 数据传输服务DTS任务状态升级通知
  • 预检查项
    • TiDB检查项
    • PostgreSQL检查项
    • MySQL检查项
    • Palo检查项
    • Oracle检查项
    • GaiaDB-X检查项
    • RocketMQ检查项
    • MongoDB检查项
    • Redis检查项
    • Elasticsearch检查项
    • GaiaDB检查项
    • Kafka检查项
    • 预检查不通过处理方法
      • 源库、目标库的连接数是否满足要求检查
      • 迁移表依赖的外键父表是否迁移检查
      • 目的数据库是否只读检查
      • 目的数据库的账号权限是否满足迁移要求检查
      • 目的库中表是否为空检查
      • 源库和目标库中SQL_MODE是否合法检查
      • 数据传输服务器是否能连通目的数据库检查
      • 源数据库的版本号检查
      • 源数据库的账号权限是否满足迁移要求检查
      • 迁移表是否有不支持的存储引擎检查
      • 预检查项汇总
      • 迁移表的表结构在目的库是否存在检查
      • 目的数据库待迁入的数据库是否可用检查
      • 目的库是否存在跟待迁移对象同名的结构对象检查
      • 数据传输服务器是否能连通源数据库检查
  • 服务支持
    • 相关协议
      • DTS服务等级协议SLA
    • 常见问题
      • 使用类问题
      • 数据迁移问题
      • 常见问题总览
      • 数据同步问题
所有文档
menu
没有找到结果,请重新输入

数据传输服务 DTS

  • 任务管理
    • 任务限速
    • 修改迁移任务的当前位点
    • 查看任务进度
    • 创建类似任务
    • 一键反向
    • 管理任务对象
      • 同步Online DDL
      • 迁移数据库账号
      • 修改同步对象
      • 传输对象范围
      • 设置过滤条件
      • 库表列名映射
    • 生命周期
      • 结束任务
      • 删除任务
      • 暂停任务
      • 变更任务链路规格
      • 启动任务
  • API3.0
    • 调用说明
    • API概览
    • 目录
    • 数据传输任务
      • 结束任务
      • 更新任务名称
      • 暂停任务
      • 查询前置检查结果
      • 释放任务
      • 修改同步对象
      • 修改同步对象记录
      • 创建任务
      • 前置检查
      • 强制跳过预检查
      • 查询任务列表
      • 变更链路规格
      • 配置任务
      • 查询任务信息
      • 启动任务
      • demo
        • 专线迁移Redis Cluster迁移到云数据库Redis企业集群版-一键反向
        • 专线迁移MongoDB副本集迁移到云数据库MongoDB副本集
        • 专线迁移Redis Cluster迁移到云数据库Redis标准版
        • 专线迁移Redis Cluster迁移到云数据库Redis标准版-数据校验
        • 专线迁移Redis Cluster迁移到云数据库Redis企业集群版-数据校验
        • 公网sql迁移到公网kafka
        • 专线迁移Redis标准版迁移到云数据库Redis标准版-一键反向
        • 专线迁移的MongoDB分片集迁移到云数据库MongoDB分片集-数据校验
        • 专线迁移MongoDB副本集迁移到云数据库MongoDB副本集-一键反向
        • 专线迁移MySQL迁移到云数据库RDS-一键反向
        • 专线迁移的Redis标准版迁移到云数据库Redis标准版-数据校验
        • 专线迁移MySQL迁移到云数据库RDS-数据校验
        • 专线迁移MongoDB分片集迁移到云数据库MongoDB分片集
        • 专线迁移MongoDB副本集迁移到云数据库MongoDB副本集-数据校验
        • 专线迁移MySQL迁移到云数据库RDS
        • 专线迁移Redis Cluster迁移到云数据库Redis企业集群版
        • 专线迁移Redis标准版迁移到云数据库Redis标准版
      • 其他
        • 一键反向查询前置检查结果
        • 展示授权白名单
        • 一键反向延迟检查
        • 获取订单状态
        • 配置一键反向
        • 查询vpc列表
        • 查询MySQL实例拥有的账号列表
        • 绑定&解除标签
        • 查询可用区列表
        • 检查数据库连通性
        • 一键反向
      • 数据校验
        • 查询数据校验任务列表
        • 数据校验任务启动
        • 创建数据校验任务
        • 配置数据校验任务
        • 停止校验
        • 查看数据校验比对结果
        • 数据校验前置检查
        • 查看数据校验任务信息
  • 监控报警
    • 查看任务监控
    • 设置报警策略
  • 产品计费
    • 计费概述
    • 到期或欠费说明
    • 计费方式
    • 变更和退订说明
  • 数据校验
    • 配置数据校验
    • 查看数据校验
    • 数据校验概述
  • Java_SDK
    • SDK下载页
    • 安装-DTS-Java-SDK
    • 使用数据订阅SDK
    • SDK接口简介
    • SDK下载
    • 概述
  • 快速入门
    • 购买流程
    • 数据迁移操作指导
    • 配置迁移任务
  • 典型实践
    • 使用NimoShake将Amazon DynamoDB迁移至百度云DocDB
    • 不同库名间的数据同步
    • 获取主账号ID
    • 使用DTS实现目标端为Elasticsearch的数据迁移
    • 使用DTS实现MySQL数据拆分
    • 数据库迁移上云
    • 业务切换流程
    • DTS支持专线迁移
    • DTS支持专线迁移(新)
    • 修改RDS MySQL参数提升迁移性能
    • MySQL实例的双向同步
  • 准备工作
    • 自建MySQL创建账号并设置binlog
    • 迁移评估
      • 源端MySQL迁移评估
    • 网络准备
      • 网络准备概述
      • VPC接入
      • 添加DTS服务IP白名单
      • 本地IDC接入百度智能云
        • VPN接入
        • 专线接入
        • 公网接入
    • 访问控制
      • 子用户权限管理
  • 产品简介
    • 支持的数据流
    • 功能概览
    • 基本概念
    • 产品优势
    • 架构原理
    • 应用场景
    • 什么是数据库传输服务DTS
    • 链路规格说明
  • 数据迁移
    • 跨账号迁移云数据库实例
    • 迁移方案概览
    • TiDB为源的迁移
      • 自建TiDB迁移至GaiaDB
    • Oracle为源的迁移
      • 自建Oracle迁移至RDS MySQL
    • GaiaDB为源的迁移
      • GaiaDB实例间的迁移
    • MySQL为源的迁移
      • 腾讯云MySQL迁移至RDS MySQL
      • RDS MySQL迁移至GaiaDB
      • 自建MySQL迁移至GaiaDB
      • 自建MySQL迁移至RDS MySQL
      • 阿里云PolarDB迁移至GaiaDB
      • RDS MySQL实例间的迁移
      • 阿里云MySQL迁移至RDS MySQL
      • MySQL迁移至Kafka
    • 异构数据库间的数据类型映射关系
      • 百度智能云DTS数据类型
      • DTS支持的数据源端
        • 将Kafka作为源端
        • 将Redis标准版作为源端
        • 将GaiaDB作为源端
        • 将Oracle作为源端
        • 将SQL Server作为源端
        • 将云上百度DRDS作为源端
        • 将MongoDB分片集作为源端
        • 将PostgreSQL作为源端
        • 将MongoDB副本集作为源端
        • 将MySQL作为源端
      • DTS支持的数据目的端
        • 将SQL Server作为目标端
        • 将Elasticsearch作为DTS目的端
        • 将GaiaDB作为目标端
        • 将Palo作为目标端
        • 将DataHub作为目标端
        • 将PostgreSQL作为目标端
        • 将MySQL作为目标端
        • 将Kafka作为DTS目标端
    • SQL Server 为源的迁移
      • 自建SQL Server迁移至RDS SQL Server
    • MongoDB为源的迁移
      • 自建MongoDB分片集迁移至DocDB MongoDB
      • DocDB MongoDB副本集迁移至DocDB MongoDB
    • Kafka为源的迁移
      • 自建Kafka迁移至消息服务 for Kafka
    • PostgreSQL为源的迁移
      • RDS PostgreSQL实例间的迁移
      • 自建PostgreSQL迁移至RDS PostgreSQL
      • AWS PostgreSQL迁移至RDS PostgreSQL
    • Redis为源的迁移
      • 使用DTS实现自建Redis标准版到百度智能云SCS for Redis标准版的数据迁移
      • 云数据库Redis实例间的迁移
      • 自建Redis迁移至云数据库Redis(含PegaDB)
    • Milvus为源的迁移
      • 自建 Milvus 迁移至向量数据库 VectorDB
  • 产品动态
    • 功能发布记录
    • 公告
      • 数据传输服务DTS支持多规格数据传输任务
      • 数据传输服务DTS任务状态升级通知
  • 预检查项
    • TiDB检查项
    • PostgreSQL检查项
    • MySQL检查项
    • Palo检查项
    • Oracle检查项
    • GaiaDB-X检查项
    • RocketMQ检查项
    • MongoDB检查项
    • Redis检查项
    • Elasticsearch检查项
    • GaiaDB检查项
    • Kafka检查项
    • 预检查不通过处理方法
      • 源库、目标库的连接数是否满足要求检查
      • 迁移表依赖的外键父表是否迁移检查
      • 目的数据库是否只读检查
      • 目的数据库的账号权限是否满足迁移要求检查
      • 目的库中表是否为空检查
      • 源库和目标库中SQL_MODE是否合法检查
      • 数据传输服务器是否能连通目的数据库检查
      • 源数据库的版本号检查
      • 源数据库的账号权限是否满足迁移要求检查
      • 迁移表是否有不支持的存储引擎检查
      • 预检查项汇总
      • 迁移表的表结构在目的库是否存在检查
      • 目的数据库待迁入的数据库是否可用检查
      • 目的库是否存在跟待迁移对象同名的结构对象检查
      • 数据传输服务器是否能连通源数据库检查
  • 服务支持
    • 相关协议
      • DTS服务等级协议SLA
    • 常见问题
      • 使用类问题
      • 数据迁移问题
      • 常见问题总览
      • 数据同步问题
  • 文档中心
  • arrow
  • 数据传输服务DTS
  • arrow
  • 典型实践
  • arrow
  • 数据库迁移上云
本页目录
  • 概览
  • DTS迁移方案的优势
  • DTS不停机迁移的步骤
  • 需求场景
  • 方案概述
  • 迁移评估阶段
  • 迁移准备阶段
  • 迁移操作阶段
  • 业务切换阶段
  • 验证阶段
  • 相关产品

数据库迁移上云

更新时间:2025-08-21

概览

随着云计算的兴起,越来越多的企业考虑到数据库的稳定性和运维成本,会将运行在本地服务器或是其他虚拟服务器上的数据库迁移到云上,我们推荐您使用DTS来进行迁移。下面将结合案例按照迁移评估、迁移准备、迁移操作、业务切换、验证等步骤详细介绍DTS迁移方案。

DTS迁移方案的优势

  • 减少了手工操作的成本,避免了因人为误操作导致数据迁移的问题。
  • 遇到网络问题时,避免中间找点和重新迁移的代价,可以平滑实现断点续传,保障迁移进度可控。
  • DTS解决了跨网络的连通性问题,代价更低,用户迁移过程更透明。

DTS不停机迁移的步骤

通过实时同步方式,使用户迁移过程不会影响正常业务,并可实现秒级别停机切换。具体步骤如下:

  1. 在源实例入口对DTS服务器进行授权,允许DTS服务从源数据库中读取数据和拉取增量。
  2. 源实例需要开启ROW格式的binlog,以便可以实时同步增量数据(5.1及以上版本支持)。

    注意:如果源入口使用开启ROW格式的从库作为同步源时,在动态修改binlog格式之后,需要重启一下从库的同步线程以便让修改binlog格式生效。

  3. 使用DTS来进行结构+全量+增量数据的迁移,具体操作步骤详见数据迁移。
  4. 停止应用程序写入,等到新数据库和老主库的数据一致后,修改应用程序的数据库访问地址,并开始写入。
  5. 结束DTS迁移任务,从而完成上云迁移。

需求场景

适用于业务需要不停机迁移上云场景的用户。

方案概述

数据库作为应用程序中的关键组件之一,将数据库迁移到新的平台是一项非常大的变动,可能影响到程序的功能、稳定性和性能,所以在迁移之前必须进行充分的调研和测试。迁移的阶段包含如下:

迁移评估阶段

数据迁移前需要评估迁移前后对业务及应用程序的影响,包括:

  • 迁移上云之后数据库的版本和新特性是否会影响正常功能?(如RDS不允许使用myisam表,会自动转换成innodb表)
  • 是否需要修改代码来适配云上的环境?
  • 迁移前后容量问题是否造成响应耗时的增加从而导致业务性能下降?(需要通过性能测试来确保响应耗时差距不大)
  • RDS跨地域通过专线方式同步,需要考虑多地域的写入时延。

迁移准备阶段

迁移准备工作主要指迁移之前需要完成4项检查:授权检查、检查BINLOG格式、数据表是否有主键和sql_mode检查。

  1. 在源数据库中对DTS服务器增加授权。

    • 由于DTS服务器的出口IP是变化的,对于外网用户的上云迁移,需要对所有网段进行授权。
    • 内网数据库上云迁移只需授权固定的几个IP即可,具体授权的IP需要咨询DTS维护人员。授权语句如下:GRANT SELECT,LOCK TABLES,SUPER,REPLICATION SLAVE,REPLICATION CLIENT,SHOW VIEW on *.* to _dts_trans_@'%' identified by 'your_password';不同迁移类型需要的权限说明如下:

      • 结构或全量迁移:SELECT、LOCK TABLES、SUPER、SHOW VIEW(LOCK TABLES权限是为了迁移无主键的表,SUPER权限是为了检查源库binlog是否存在)。
      • 增量迁移:REPLICATION SLAVE、REPLICATION CLIENT。
      • 如果需要数据校验功能,还需要给baidudts系统库授权CREATE、INSERT、UPDATE、DELETE、DROP权限,否则将无法使用数据校验等高级功能。数据校验授权命令请参考`GRANT CREATE,INSERT,UPDATE,DELETE,DROP on baidu_dts.* to _dts_trans@'%' identified by 'your_password'`。
    • 授权完之后,请检查授权是否生效。执行命令mysql -h 源数据库ip -P 源数据库端口 -u 用户名 -p密码使用账号密码的方式连接mysql,登录成功之后,执行SHOW GRANTS FOR _dts_trans_@'%'查看账号权限。

  2. 检查源数据库的BINLOG格式。

    • 首先执行命令mysql -h 源数据库ip -P 源数据库端口 -u 用户名 -p密码查看源库的BINLOG是否已经开启。
    • 登录成功之后,执行show variables like 'log_bin'查看log_bin是否打开。
    • 执行show master logs查看是否已经有binlog在实时写入。
    • 最后执行show variables like 'binlog_format'检查binlog格式是否改成ROW格式。

    正常的检查结果如下:

    注意:
    如果源数据库选择的是MYSQL的一个从库,而且通过动态方式修改binlog_format(set global binlog_format='ROW';),必须重启同步线程(stop slave; start slave;)从而让ROW格式正式生效。
    若源库为自建数据库单实例,在修改binlog格式后,需排查并kill源库的长连接,以保证binlog格式生效。

    最好的方式执行mysql/bin/mysqlbinlog mysql-bin.000040查看最新的binlog内容是否已经被改成了ROW格式。出现如下红框中的类似内容(非sql可读的内容)说明已经修改成功。

  3. 检查要迁移的数据库中的表是否有主键。

    为保障迁移过程更加顺利,我们要求迁移的表必须有主键,这样在全量迁移过程中由于网络或其他原因导致的中断可以断点续传,确保迁移进度可控。检查方法如下:

    • 执行mysql -h 源数据库ip -P 源数据库端口 -u 用户名 -p密码命令连接数据库。
    • 登录成功之后,执行select * from information_schema.TABLE_CONSTRAINTS where TABLE_SCHEMA='db1' and TABLE_NAME='t1' and CONSTRAINT_TYPE='PRIMARY KEY'或show create table db1.t1查看是否有主键。
  4. 检查sql_mode配置。

    由于部分情况的sql_mode有潜在数据不一致的风险,sql_mode需要设置为如下集合中的某一项或某几项。

    合法的sql_mode集合("", "REAL_AS_FLOAT", "PIPES_AS_CONCAT", "ANSI_QUOTES", "IGNORE_SPACE", "ONLY_FULL_GROUP_BY", "NO_UNSIGNED_SUBTRACTION", "NO_DIR_IN_CREATE", "POSTGRESQL", "ORACLE", "MSSQL", "DB2", "MAXDB", "NO_KEY_OPTIONS", "NO_TABLE_OPTIONS", "NO_FIELD_OPTIONS", "MYSQL323", "MYSQL40", "ANSI", "NO_AUTO_VALUE_ON_ZERO", "NO_BACKSLASH_ESCAPES", "STRICT_TRANS_TABLES", "STRICT_ALL_TABLES", "NO_ZERO_IN_DATE", "NO_ZERO_DATE", "ALLOW_INVALID_DATES", "ERROR_FOR_DIVISION_BY_ZERO", "TRADITIONAL", "HIGH_NOT_PRECEDENCE", "NO_ENGINE_SUBSTITUTION", "PAD_CHAR_TO_FULL_LENGTH", "NO_AUTO_CREATE_USER")

我们推荐登录成功后执行命令set global sql_mode='STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION'进行模式设置。

迁移操作阶段

  1. 在百度智能云的RDS服务中创建数据库实例,创建方法参见登录并创建RDS for MySQL实例。
  2. 进入DTS产品页面点击新建迁移任务。

  3. 填写源数据库和目标数据库信息。

  4. 选择需要迁移的库表。

  5. 查看检查结果通过后,启动迁移。

  6. 查看任务进度和增量延迟情况。

    结构迁移进度详情:

    全量迁移进度详情:

    增量迁移进度详情:

进行到增量数据迁移阶段,并且延迟为0的情况,就说明已经追上同步,下一步开始切流量。

业务切换阶段

  1. 所有写入仍然走源数据库主库,数据通过DTS实时同步。
  2. 将业务程序部署到云服务器上,此时读写数据库还可以读写源数据库。
  3. 数据库流量上云过程:读测试 -> 单地域读小流量 -> 单地域读百分比分阶段切上云 -> 其他地域读百分比分阶段切上云 -> 全部读上云 -> 写流量全量切上云。
  4. "写流量全量切上云"过程需要选择一个合适流量低峰时间,停写(业务层有MQ,不会丢失),检查数据已经实时同步到云上,停DTS任务,写逻辑切换至云,启动业务。
  5. 如需回滚,需要创建DTS增量同步任务,从RDS把增量数据同步到源数据库的主库,需要回滚时进行流量回切。

验证阶段

业务需验证应用程序正常功能是否可用,观察业务程序错误日志。观察RDS数据库负载情况,如果发现容量不足,需及时扩容,补充只读副本。 迁移完成。至此,数据库上云迁移流程全部完成,切换流量前如需数据校验,可联系DTS同学发起数据校验流程,进一步保障上云前后的数据一致性。

相关产品

云服务器BCC:高性能、高可靠、安全稳定的弹性计算服务

云数据库 SCS:兼容 Redis、Memcached 协议的分布式缓存服务

云数据库 RDS:专业、高性能、高可靠的关系型数据库

云数据库 DocDB for MongoDB:兼容 MongoDB 协议的文档数据库服务

上一篇
使用DTS实现MySQL数据拆分
下一篇
业务切换流程