MySQL 跨云迁移执行手册

先保证可追增量,再讨论低停机

云迁易编辑部更新于 2026-07-14内容与审核规范

本手册适用于自建 MySQL、阿里云 RDS MySQL、华为云 RDS for MySQL 与腾讯云数据库 MySQL 的常见同构迁移。托管数据库能否提供复制权限、Binlog 和网络访问,以源云产品版本和账号类型为准。


  • 数据量较小、可接受停机的逻辑备份与恢复
  • 需要低停机的结构迁移、全量迁移和 Binlog 增量追赶
  • 公网、VPN 或专线连接的跨云 MySQL 到 MySQL 迁移

跨引擎迁移、分布式数据库、分库分表、加密数据库或跨境数据传输不直接套用本手册。


  • 记录源端与目标端 MySQL 版本、字符集、排序规则、时区、sql_mode 和参数组
  • 盘点库表、数据量、增长量、大表、无主键表、视图、触发器、事件、函数和存储过程
  • 确认 Binlog 已开启、格式与保留时间满足全量期间持续追赶需求
  • 确认迁移账号权限、源库白名单、目标库写权限和迁移服务出口地址
  • 目标实例容量、IOPS、连接数和规格不低于压测或容量评估结果
  • 应用连接配置、连接池、DNS 缓存、超时、重试和事务语义已纳入割接计划
  • 创建独立备份并完成恢复演练,避免把迁移链路当成唯一备份

目标云厂商数据迁移服务典型接入
阿里云 RDS MySQL
DTS
把其他云 MySQL 作为自建数据库,通过公网、VPN/专线接入
华为云 RDS for MySQL
DRS
MySQL 入云或出云,按任务选择公网、VPC、VPN/专线
腾讯云数据库 MySQL
DTS/NewDTS
源库可为自建或其他云数据库,选择靠近源库的地域

目标云服务是常见首选;若厂商链路不支持版本或对象范围,可评估 mydumper/myloader、原生复制或应用级双写,但要额外承担运行和校验责任。


  1. 为迁移创建独立账号,按厂商预检查清单授予最小权限,不复用业务管理员账号。
  2. 只把迁移服务的官方出口 IP 加入源库白名单,并设置任务结束后的撤销时间。
  3. 优先使用 VPN/专线;必须走公网时启用 TLS,限制来源并监控异常连接。
  4. 凭据不进入命令行、文档、截图和迁移日志,任务完成后轮换或删除。
  5. 迁移含个人信息或重要数据时,先确认处理目的、地域、日志保留和访问审计。

  1. 用生产结构和脱敏样本创建一次完整任务,验证版本、网络、权限和对象兼容性。
  2. 审查迁移服务生成的 DDL,特别是字符集、索引、默认值、DEFINER、分区和自增列。
  3. 运行全量与增量,记录源库 CPU/IO、锁、慢查询、Binlog 增长和同步延迟。
  4. 对行数、关键聚合、业务查询、时区、中文排序和金额精度做验证。
  5. 模拟暂停与恢复任务、网络抖动、日志临近过期和目标库写满等故障。
  6. 以真实连接池执行一次应用切换和回切,确认 DNS 与连接缓存行为。

  • 冻结未经评审的 DDL,并确保 Binlog 保留窗口覆盖全量与故障重试时间。
  • 先迁结构并人工处理不兼容对象,再启动存量数据迁移。
  • 控制迁移并发和 RPS,观察源库读压力、目标库写压力、锁和磁盘增长。
  • 大表、无主键表、热点表和超大事务单独设监控与窗口。
  • 保存任务配置、预检查结果、失败对象和人工修复记录。

全量完成只表示存量数据已经复制,不代表业务可以切换;必须等待增量追平并完成业务校验。


  • 监控当前延迟、延迟趋势、错误重试、Binlog 位点和源端日志剩余窗口。
  • 防止源端日志被提前清理;修改保留策略前评估磁盘容量和任务最长恢复时间。
  • 增量期间继续禁止未兼容的 DDL,避免源目标结构分叉。
  • 割接前停止批处理、定时任务、消费者和所有写入口,等待延迟归零或进入批准阈值。
  • 记录最终位点、最后同步时间和源目标校验时间,形成可审计证据。

  • 库、表、分区、索引、视图、触发器、函数、事件和账号对象清单
  • 每表行数与总容量,关键表可使用分段校验和或业务主键抽样
  • 关键聚合、余额、订单状态、时间区间和跨表关联结果
  • 字符集、排序、时区、NULL、默认值、精度、自增和大小写行为
  • 应用读写、事务、锁、只读实例、备份、监控、审计和慢查询

不能只依赖迁移控制台的“完成”。对核心数据使用验收证据与抽样形成独立结论。


  1. 确认目标备份、监控、账号、参数和业务烟雾测试已通过。
  2. 停止源端写入并暂停会产生写操作的定时任务和消费者。
  3. 等待增量追平,记录最终位点并完成核心校验。
  4. 把应用连接切到目标库,逐步恢复实例和任务,持续观察错误、锁和延迟。
  5. 将源库保持只读或隔离,不立即停止迁移任务,进入批准的观察窗口。

数据库回滚的核心不是切回连接,而是处理目标端已经产生的新写入。正式窗口前必须选择一种策略:

  • 目标端短期保持只读,只验证读取后再开放写入
  • 提前建立经过测试的反向同步,并明确冲突处理
  • 回滚时停写目标端,导出时间窗口内的差异,由业务补偿
  • 对不可合并数据明确“只前进不回滚”,改用故障修复与容灾方案

若没有选择并演练其中一种方式,不得把“改回连接串”写成数据库回滚方案。


  • DTS/DRS/NewDTS 的全量、增量实例和运行时长费用
  • 源云公网出流量、VPN/专线、NAT 和公网 IP 费用
  • 目标数据库、临时扩容、备份、日志与双云并行费用
  • 源库 Binlog 延长保留带来的磁盘成本,以及校验工具的计算成本

迁移服务可能对结构/全量和增量采用不同计费方式,必须按创建任务时的官方价格页估算。


核验日期:2026-07-14。正式任务前重新检查引擎版本、迁移对象、网络、权限、Binlog、增量能力和计费。本手册未声称已对所有链路组合做实际迁移测试。

Built with