详细解答可以参考官方帮助文档
使用 数据传输服务 DTS 可以将本地 MySQL 实例的数据迁移到 RDS for MySQL 实例。数据传输服务 DTS (以下简称 DTS) 提供的增量数据同步功能,可以实现在本地应用不停服的情况下,平滑完成 MySQL 数据的迁移工作。
本小节简单介绍使用 DTS 进行本地 MySQL->RDS for MySQL 数据迁移的任务配置流程。
迁移步骤
对于本地 MySQL->RDS for MySQL 的数据迁移,DTS 支持结构迁移、全量数据迁移及增量数据迁移,这个迁移类型的功能及限制如下:
结构迁移
数据传输会将迁移对象的结构定义迁移到目标实例。目前 DTS 支持结构迁移的对象有:表、视图、触发器、存储过程、存储函数。
全量数据迁移
全量迁移将本地 MySQL 实例的存量数据全部迁移到目标 RDS for MySQL 实例。
如果用户只进行全量数据迁移,那么迁移过程中本地 MySQL 实例新增的业务写入不会被同步到目标 RDS for MySQL 实例。
增量数据迁移
增量数据迁移会将全量数据迁移过程中,本地 MySQL 实例的增量变更数据同步到目标 RDS for MySQL 实例,增量数据迁移可以实现本地 MySQL 实例在迁移过程中产生的增量数据被实时同步到目标库,最终实现本地 MySQL 实例同目标 RDS for MySQL 实例进入动态数据同步的过程。
迁移限制迁移过程中,不支持 DDL 操作
结构迁移不支持 event 的迁移
对于MySQL的浮点型float/double,DTS通过round(column,precision)来读取该列的值,若列类型没有明确定义其精度,对于float,精度为38位,double类型,精度为308,请先确认DTS的迁移精度是否符合业务预期
如果使用了对象名映射功能后,依赖这个对象的其他对象可能迁移失败
当选择增量迁移时,源端的本地 MySQL 实例需要按照要求开启 binlog
当选择增量迁移时,源库的 binlog_format 要为 row
当选择增量迁移且源 MySQL 如果为 5.6 及以上版本时,它的 binlog_row_image 必须为 full
当选择增量迁移时,增量迁移过程中如果源MySQL实例出现因实例跨机迁移或跨机重建等导致的binlog 文件ID乱序&