我正在使用AWS DMS迁移350G数据。
迁移已完全完成,但状态显示错误。我检查了cloudwatch日志,并收到以下错误:
E:RetCode:SQL_ERROR SqlState:HY000 NativeError:1280消息:[MySQL] [ODBC 5.3(w)驱动程序] [mysqld-5.5.5-10.2.12-MariaDB-log]错误的索引名'PRIMARY'[1022502 ](ar_odbc_stmt.c:4428)
[TARGET_LOAD] E:执行创建入门密钥失败,语句ALTER TABLE
<databaseName>
。<table>
添加约束PRIMARY
主密钥(id
)[1022502](odbc_endpoint_imp。 c:3938)
我比较了源数据库和目标数据库上的数据库,发现表大小有所不同,并且目标RDS上的 Key 字段为空;我怀疑密钥没有迁移到我的目标RDS(与 describe 相比)。在DMS文档中,提到了密钥将被迁移。
有什么办法可以解决此问题?
请让我知道在使用AWS RDS时是否有人遇到问题。
答案 0 :(得分:1)
DMS似乎正在尝试应用目标中已存在的索引。 在another issue中,错误的索引名称消息与尝试创建已经存在的索引有关。
请考虑运行Schema Conversion Tool来创建目标架构,并以target table prep mode的任何操作运行DMS任务。这样,您就可以与迁移数据分开解决架构的创建问题。
也可以考虑使用source table filters为该表创建一个具有相同任务配置的任务,这将为您提供完整的端到端目标日志。
AWS编写了非常详细的博客系列以对DMS进行故障诊断,以供参考: