将 MySQL 数据库作为 AWS DMS 源的限制

使用 MySQL 数据库作为源时,请考虑以下事项:
1. 版本支持限制
Amazon RDS MySQL 5.5 或更低版本不支持更改数据捕获 (CDC)。
对于 Amazon RDS MySQL,您必须使用 5.6 版或 5.7 才能启用 CDC。自管理 MySQL 5.5 源支持 CDC。
2. DDL操作支持限制
对于 CDC 而言,支持CREATE TABLE、ADD COLUMN, 和DROP COLUMN更改列数据类型,以及rename a column等操作。
但是,DROP TABLE、RENAME TABLE,以及对其他属性(例如列默认值、列可空性、字符集等)进行的更新不受支持。
3. 分区表支持限制
对于源上的分区表,当您将 Target table preparation mode (目标表准备模式) 设置为 Drop tables on target (删除目标中的表) 时,
AWS DMS 将在 MySQL 目标上创建一个没有任何分区的简单表。
要将分区表迁移到目标上的分区表,请预先在目标 MySQL 数据库上创建分区表。
4. 增加列限制
不支持使用 ALTER TABLE table_name ADD COLUMN column_name 语句将列添加到表的开头 (FIRST) 或中间 (AFTER),列始终添加到表的末尾。
5. 表名大小写限制
当表名称包含大写和小写字符且源引擎托管于包含不区分大小写的文件名的操作系统上时,CDC 不受支持。
一个例子是使用 HFS + 的微软 Windows 或 OS X。
6. CDC限制
您可以使用 Aurora MySQL 兼容版无服务器进行满载,但不能将其用于 CDC。这是因为您不能启用 MySQL 的先决条件。有关更多信息,请参阅 。参数组和 Aurora 无服务器 v1.
7. 自增列限制
列上的 AUTO_INCREMENT 属性不会迁移到目标数据库列。
8. binlog存储限制
当二进制日志未存储在标准块存储上时,不支持捕获更改。例如,当二进制日志存储在 Amazon S3 中时,CDC 不起作用。
9. 存储引擎类型限制
默认情况下,AWS DMS 将使用 InnoDB 存储引擎创建目标表。如果您需要使用 InnoDB 之外的存储引擎,则必须手动创建该表并使用 Do nothing (不执行任何操作) 模式迁移到该表。
10. 主备库迁移限制
您不能使用 Aurora MySQL 副本作为的源AWS DMS除非你的 DMS 迁移任务模式是迁移现有数据— 仅限满载。
如果在两个 Amazon RDS Aurora MySQL 集群之间迁移,RDS Aurora MySQL 源终端节点必须是读/写实例,而不是副本实例。
11. 源库异常停止限制
如果与 MySQL 兼容的源在完全加载期间停止,AWS DMS 任务不会停止,但会出现错误。
该任务将成功结束,但目标可能与源不同步。如果发生这种情况,请重新启动该任务或重新加载受影响的表。
12. 前缀索引(函数索引)不支持
在列值的一部分上创建的索引不会迁移。
例如,索引 CREATE INDEX first_ten_chars ON customer (名称 (10)) 不在目标上创建。
13. LOB列限制
在某些情况下,任务会配置为不复制 LOB(“SupportLobs”在任务设置中为 false,或者在任务控制台中选中 Don't include LOB columns (不包括 LOB 列))。
这些情况下,AWS DMS 不会将任何 MEDIUMBLOB、LONGBLOB、MEDIUMTEXT 和 LONGTEXT 列迁移到目标。
BLOB、TINYBLOB、TEXT 和 TINYTEXT 列不会受到影响且将迁移到目标。
14. 临时表限制
MariaDB 源数据库和目标数据库不支持临时数据表或系统版本表。
15. AWS DMS目前不支持 MySQL 8.0.20 中引入的压缩事务日志有效载荷。
16. AWS DMS目前不支持对 MariaDB 的视图迁移。
17. AWS DMS不支持 MySQL 的分区表的 DDL 更改。
18. AWS DMS目前不支持 XA 交易。

posted on 2022-04-19 16:47  Brad Miller  阅读(138)  评论(0编辑  收藏  举报