AWS DMS全量加载与增量复制任务仅迁移表无数据求助
AWS DMS MySQL到Open Search数据迁移无数据问题排查建议
检查全量加载核心配置与权限
确认DMS任务已勾选Load existing data,同时查看任务日志的全量阶段详情:- 源RDS MySQL表必须有主键或唯一键,DMS依赖唯一键来确保全量数据的可靠读取;
- 验证DMS使用的源端点数据库账号拥有
SELECT权限,增量复制还需REPLICATION SLAVE、REPLICATION CLIENT权限; - 可通过AWS CLI命令
aws dms describe-replication-tasks --filters Name=replication-task-id,Values=<your-task-id>查看任务全量阶段的状态码与详情。
确认Open Search的写入能力与权限
- 检查DMS目标端点的IAM角色是否包含
es:PutDocument、es:IndexDocument等写入权限,同时确认Open Search的访问策略允许DMS服务的IP段访问; - 查看目标索引的状态:若
number_of_replicas设置大于集群可用节点数,会导致写入阻塞,可临时将其设为0测试; - 直接在Open Search控制台执行
PUT /<index-name>/_doc/1 {"test":"data"}测试索引的写入能力,排除集群本身的问题。
- 检查DMS目标端点的IAM角色是否包含
排查数据类型映射的隐性冲突
即使手动创建了字段映射,仍可能存在细节问题:- MySQL的
datetime类型需匹配Open Searchdate类型的ISO8601格式,可通过DMS任务的Transformation rules添加格式转换规则; - 检查MySQL文本字段(
TEXT/LONGTEXT)是否包含控制字符、超长内容,这类数据会导致Open Search写入失败,可在DMS中添加过滤规则排除异常数据; - 查看DMS任务的
Error级别日志,是否有"Document failed to index"类的具体错误信息,定位字段问题。
- MySQL的
增量复制的Binlog配置验证
源RDS MySQL必须满足:binlog_format设置为ROW(DMS增量复制的强制要求);binlog_row_image设置为FULL,确保DMS能获取完整的行变更数据;
查看任务CDC阶段日志,确认是否存在binlog读取失败、事务应用报错的信息,比如权限不足导致无法读取binlog。
小范围测试缩小排查范围
创建仅含少量测试数据的测试表,单独配置DMS任务迁移:- 若测试表能正常迁移,说明原表存在特殊数据行或数据量过大的问题,可逐步添加原表数据测试定位;
- 若仍无数据,重点检查端点连接配置、映射规则的语法正确性,比如映射中的字段名是否大小写匹配(Open Search字段名区分大小写)。
内容的提问来源于stack exchange,提问作者Antonio Turner
相关产品推荐
相关产品推荐

