DTS 搬站的实战心得

简介: 传统的数据迁移一直是比较头疼的话题,可能需要停机做mysqldump,或者通过一些程序抓取写入到目标库,但这些程序往往缺少一个大规模的使用量,容易出现数据不一致的情况。 另外就是异构场景,即使像Oracle这种商业数据库有EXPDP 这些工具,但是异构场景,就没有用武之地了。

传统的数据迁移一直是比较头疼的话题,可能需要停机做mysqldump,或者通过一些程序抓取写入到目标库,但这些程序往往缺少一个大规模的使用量,容易出现数据不一致的情况。

另外就是异构场景,即使像Oracle这种商业数据库有EXPDP 这些工具,但是异构场景,就没有用武之地了。

DTS 支持的迁移类型

数据源 结构迁移 全量迁移 增量迁移
Oracle->MySQL 支持 支持 支持
Oracle->RDS For PPAS 支持 支持 支持
Oracle->DRDS 不支持 支持 支持
Oracle->ADS 支持 支持 支持
Oracle->Oracle 支持 支持 支持
MySQL ->RDS For MySQL 支持 支持 支持
MySQL ->PostgreSQL 不支持 支持 支持
SQLServer->SQLServer 支持 支持 支持
PostgreSQL->PostgreSQL 支持 支持 支持
MongoDB -> MongoDB 支持 支持 支持
Redis -> Redis 支持 支持 支持
MySQL->DRDS 不支持 支持 支持
MySQL->PetaData 不支持 支持 支持
MySQL->OceanBase 支持 支持 支持
DB2->MySQL 支持 支持 支持

我们的DTS 主要分为 预检查、结构迁移、全量迁移、增量迁移几个阶段。

预检查,主要是检查连通性和账号权限,以及其他一些情况,比如是否有拓扑冲突。

结构迁移,主要是对表结构的DDL语句的迁移。 这里要注意下,增量迁移的过程目标实例最好不要用trigger,源库的触发器生成值,也会随binlog同步过来。

全量迁移,主要是基于SQL 查询,通过切片算法,分段把数据全量拉取过来。

如果需要增量更改的数据,那么就需要我们的增量迁移。 增量迁移是通过拉取源库的日志文件,如MySQL的binlog,sqlserver的LDF等,分析转储成适合目标实例的SQL语句,再增量并发写入到目标实例。

一、 云下机房上云迁移

https://help.aliyun.com/document_detail/26621.html?spm=a2c4g.11186623.6.601.cc2b3588wFTiPu

注意事项:

1) 权限

迁移类型 结构迁移 全量迁移 增量迁移
本地 MySQL 实例 select select super
select
replication slave
replication client
目标端 RDS for MySQL 实例 读写权限 读写权限 读写权限

2) 源库的binlog格式

binlog_format = row

binlog_row_image=full

3) 映射关系

DTS 迁移不能更改迁移对象,所以配置的时候,要选好映射关系

二、 云下机房和云上实例同步

https://help.aliyun.com/document_detail/66730.html?spm=a2c4g.11186623.6.631.571d2b32sICq3v

注意事项

1) 同步必须是内网,所以需要有专线、智能网关、VPN等,正确配置网络路由

关于专线的配置可以参考这篇

https://help.aliyun.com/document_detail/58143.html?spm=a2c4g.11186623.6.616.ccb169a7r7zrhq

2) 同步的其他配置和迁移类似,但是同步初始化完成后,可以更改同步对象

注意的是,每次更改后,需要等到新加入的对象同步初始化完成,才能进行下一次更改

3) 同步还支持双向同步,极大满足云上测试的前提。

https://help.aliyun.com/document_detail/56776.html?spm=a2c4g.11186623.6.627.6472636abYrkHY

双向同步需要注意的是,冲突策略,默认是冲突以后会中断

三、 其他云厂商的迁移与同步

https://help.aliyun.com/document_detail/52555.html?spm=a2c4g.11186623.6.596.cc2b3588wFTiPu

AWS

https://help.aliyun.com/document_detail/52904.html?spm=a2c4g.11186623.6.597.4f814a512mVENC

腾讯

需要注意的是,确认下其他云厂商的MySQL账号权限, 以及binlog的开放情况,如果能买到专线,速度也会更进一步。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
存储 数据可视化 项目管理
有哪些“极简风”页面设计的办公协同工具?再不怕眼花缭乱啦!
在快节奏的现代职场中,极简风页面设计的协同工具成为提升工作效率的重要手段。本文介绍了10款极简风设计的办公协同工具,包括板栗看板、Notion、Trello、Slack、Asana、Figma、Invision、Moqups、Coda和Dropbox Paper。这些工具不仅界面简洁直观,功能强大,还能帮助团队高效协作,让工作更加井然有序。
558 43
有哪些“极简风”页面设计的办公协同工具?再不怕眼花缭乱啦!
|
22天前
|
Linux 程序员 数据格式
【2026最新】Notepad++下载、安装和使用一篇搞定(附中文版安装包)
Notepad++ 是一款免费开源、轻量高效的 Windows 文本编辑器,支持 C/Python/HTML 等 80+ 语言语法高亮、代码折叠、正则替换、编码转换及插件扩展,专为程序员与文本处理用户打造,完美替代系统记事本。(239字)
|
7天前
|
人工智能 缓存 安全
Claude Code 封号真实原因曝光,这次彻底不装了,直接针对国内开发者的账号下手?
Claude Code 封号潮背后:逆向扒出客户端隐写区域标记,Anthropic 政策收紧叠加 DeepSeek 7 月涨价,国产替代更紧迫。
|
13天前
|
人工智能 JSON 自然语言处理
让教学更智慧:用阿里云百炼工作流,自动生成中小学教材内容#小有可为#有温度的AI
通过可视化工作流编排,将大模型推理能力转化为标准化的教学内容生成引擎。教师只需输入教材标题和适用学段,即可自动获得结构完整、符合课程标准的章节内容,大幅降低备课门槛,助力教育资源均衡化。
495 127
|
16天前
|
存储 人工智能 监控
QoderWork完全指南:从入门到精通,把“AI实习生”变成你的全能工作搭档
阿里云2026年推出的桌面端AI工作助手QoderWork,不止聊天,更可动手干活:本地运行、安全可控,支持文件整理、数据分析、PPT生成、网页开发等;内置专家套件、多Agent协作与自定义Skills,让AI真正成为你身边的“AI实习生”。
|
8天前
|
人工智能 安全 程序员
终于,Claude Code 封号的原因被曝光了!竟然针对中国用户,植入隐形代码?!
通俗易懂地揭秘 Claude Code 封号的手段,分享一些自己对 AI 编程困境的思考,Codex、Cursor、DeepSeek、智谱 GLM、甚至是豆包,都有所行动了
450 1
|
9天前
|
人工智能 安全 Cloud Native
Higress 新发布:AI Gateway 能力增强,Gateway API 及其推理扩展持续打磨
增强 AI 网关能力,持续打磨 Gateway API 及其推理扩展。
391 125
|
6天前
|
人工智能 编解码 物联网
2026 最新Stable Diffusion 本地部署教程 下载安装使用详细图解(含官网安装包)
Stable Diffusion(SD)是2022年发布的开源文生图模型,由Stability AI等联合开发。支持文生图、图生图、局部重绘等,依托VAE降低算力需求,可在消费级显卡运行。本文提供秋葉aaaki制作的Windows整合包(含图形界面与插件),开箱即用,零配置启动。