新创建的表不会迁移到dms中的Redshift



我已经建立了一个DMS,RDS MYSQL作为源端点,REDSHIFT作为目标端点;full和CDC";。

安装程序运行良好,甚至更新、删除stmt也正在复制到Redshift。然而,当我在我的源RDS MYSQL中创建一个新表时,它并没有被复制到targer Redshift。

请注意,新表没有任何主键。

这是因为,无论何时创建新表,DMS用户(mysql用户(都无权读取这些新表。您必须明确授予用户读取此新表的权限-

GRANT SELECT ON SCHEMA.TABLE_NAME TO dmsuser_readonly;

然后添加补充日志以允许用户访问表的日志-

ALTER TABLE SCHEMA.TABLE_NAME ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

PS:允许使用所有者架构用户对dmsuser进行所有访问。如果有任何问题,请告诉我。

要指定要在迁移期间应用的表映射,可以创建一个JSON文件。如果使用控制台创建迁移任务,则可以浏览此JSON文件或直接在表映射框中输入JSON。如果使用CLI或API执行迁移,则可以使用CreateReplicationTask或ModifyReplicationTask API操作的TableMappings参数指定此文件。

迁移模式中的一些表的示例

{
"rules": [
{
"rule-type": "selection",
"rule-id": "1",
"rule-name": "1",
"object-locator": {
"schema-name": "Test",
"table-name": "%"
},
"rule-action": "include"
}
]
}
  • 创建一个类似上述格式的新规则,并指定您的表名称
  • 规则id和规则名称应该是唯一的

有关更多信息,请查看此

最新更新