本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
我的SQL评估
本节介绍使用 “我的” SQL、“Aurora 我的兼容版” 或 “Aurora 我的SQL兼容版” 无服务器源端点的迁移任务的单独迁移前评估。SQL
主题
- 验证是否禁用了二进制日志事务压缩
- 验证DMS用户是否对源数据库具有REPLICATIONCLIENT和REPLICATIONSLAVE权限
- 验证DMS用户是否拥有源数据库表的SELECT权限
- 验证源数据库中的 server_id 是否设置为 1 或更大
- 验证DMS用户是否具有将 “我的SQL数据库” 作为目标的必要权限
- 验证是否为源数据库设置了自动删除二进制日志
- 验证仅在设置为 true 时BatchApplyEnabled才使用受限LOB模式
- 验证表是否使用了 Innodb 以外的存储引擎
- 验证是否对任何用于迁移的表启用了自动增量
- 验证数据库二进制日志图像是否设置FULL为支持 DMS CDC
- 验证源数据库是否为 “我的SQL只读副本”
- 验证表是否有分区,并建议target_table_prep_mode用于满载任务设置
- 验证是否DMS支持数据库版本
- 验证目标数据库是否配置为设置local_infile为 1
- 验证目标数据库是否有带外键的表
- 验证任务范围内的源表是否具有级联约束
- 验证超时值是否适合 “我的SQL源” 或 “目标”
验证是否禁用了二进制日志事务压缩
API密钥:mysql-check-binlog-compression
此迁移前评估可验证是否禁用了二进制日志事务压缩。 AWS DMS 不支持二进制日志事务压缩。
有关更多信息,请参阅使用 “我的SQL数据库” 作为源的限制 AWS DMS。
验证DMS用户是否对源数据库具有REPLICATIONCLIENT和REPLICATIONSLAVE权限
API密钥:mysql-check-replication-privileges
如果DMS任务迁移类型为CDC或满载 +,则此迁移前评估将验证在源端点连接设置中指定的DMS用户是否拥有REPLICATION CLIENT
源数据库的REPLICATION SLAVE
权限。CDC
有关更多信息,请参阅使用任何SQL与 My 兼容的数据库作为源。 AWS DMS
验证DMS用户是否拥有源数据库表的SELECT权限
API密钥:mysql-check-select-privileges
此迁移前评估将验证在源端点连接设置中指定的DMS用户是否具有源数据库表的SELECT权限。
有关更多信息,请参阅使用任何SQL与 My 兼容的数据库作为源。 AWS DMS
验证源数据库中的 server_id 是否设置为 1 或更大
API密钥:mysql-check-server-id
此迁移前评估可验证源数据库中CDC迁移类型的server_id
服务器变量是否设置为 1 或更大。
有关来源的更多信息 AWS DMS,请参阅使用自我管理的 “我的SQL兼容” 数据库作为来源。 AWS DMS
验证DMS用户是否具有将 “我的SQL数据库” 作为目标的必要权限
API密钥:mysql-check-target-privileges
此迁移前评估将验证在目标端点连接设置中指定的DMS用户是否具有将 “我的SQL数据库” 作为目标的必要权限。
有关我的SQL源端点先决条件的更多信息,请参阅使用任何与我SQL兼容的数据库作为源。 AWS DMS
验证是否为源数据库设置了自动删除二进制日志
API密钥:mysql-check-expire-logs-days
此迁移前评估可验证您的数据库是否已配置为自动删除二进制日志。其中一个EXPIRE_LOGS_DAYS
或一个BINLOG_EXPIRE_LOGS_SECONDS
全局系统变量的值应大于零,以防止在迁移过程中过度使用磁盘空间。
有关来源的更多信息 AWS DMS,请参阅使用自我管理的 “我的SQL兼容” 数据库作为来源。 AWS DMS
验证仅在设置为 true 时BatchApplyEnabled
才使用受限LOB模式
API密钥:mysql-batch-apply-lob-mode
此迁移前评估可验证DMS任务是否包含LOB列。如果LOB列包含在任务范围内,则只能与受限LOB模式BatchApplyEnabled
一起使用。
有关该BatchApplyEnabled
设置的更多信息,请参阅如何使用DMS批处理应用功能来提高CDC复制性能?
验证表是否使用了 Innodb 以外的存储引擎
API密钥:mysql-check-table-storage-engine
此迁移前评估可验证 Source My SQL 数据库中任何表使用的存储引擎是否是 Innodb 以外的引擎。DMS默认使用InnoDB存储引擎创建目标表。如果您需要使用InnoDB以外的存储引擎,则必须在目标数据库上手动创建表,并将您的DMS任务配置为使用TRUNCATE_BEFORE_LOAD
或DO_NOTHING
作为满载任务设置。有关满载任务设置的更多信息,请参阅完全加载任务设置。
注意
此迁移前评估不适用于 Aurora 我的兼容版或 Aurora 我的SQL兼容版 Serverl SQL ess。
有关我的SQL终端节点限制的更多信息,请参阅使用 “我的SQL数据库” 作为来源的限制 AWS DMS。
验证是否对任何用于迁移的表启用了自动增量
API密钥:mysql-check-auto-increment
此迁移前评估可验证任务中使用的源表是否启用了自动增量。DMS不会将列上的 AUTO _ INCREMENT 属性迁移到目标数据库。
有关我的SQL终端节点限制的更多信息,请参阅使用 “我的SQL数据库” 作为来源的限制 AWS DMS。有关在 My 中处理标识列的信息SQL,请参阅 AWS DMS:第 2 部分中的处理IDENTITY列
验证数据库二进制日志图像是否设置FULL
为支持 DMS CDC
API密钥:mysql-check-binlog-image
此迁移前评估检查源数据库的二进制日志图像是否设置为。FULL
在 My 中SQL,该binlog_row_image
变量决定了使用该ROW
格式时如何写入二进制日志事件。为确保与之兼容DMS和支持CDC,请将binlog_row_image
变量设置为FULL
。此设置可确保DMS接收足够的信息,以便在迁移期间为目标数据库构造完整的数据操作语言 (DML)。
要将二进制日志图像设置为FULL
,请执行以下操作:
对于 AmazonRDS,此值是
FULL
默认值。对于托管在本地或亚马逊上的数据库EC2,请在
my.ini
(Microsoft Windows) 或my.cnf
(UNIX) 中设置binlog_row_image
值。
此评估仅对满载和CDC迁移或CDC仅限迁移有效。此评估对仅完全加载迁移无效。
验证源数据库是否为 “我的SQL只读副本”
API密钥:mysql-check-database-role
此迁移前评估可验证源数据库是否为只读副本。要DMS在连接到只读副本时启用CDC支持,请将log_slave_updates
参数设置为True
。有关使用自行管理的 “我的SQL数据库” 的更多信息,请参阅使用自我管理的 SQL My 兼容数据库作为源 AWS DMS。
要将该log_slave_updates
值设置为True
,请执行以下操作:
对于 AmazonRDS,请使用数据库的参数组。有关使用RDS数据库参数组的信息,请参阅 Amazon RDS 用户指南中的使用参数组。
对于托管在本地或亚马逊上的数据库EC2,请在
my.ini
(Microsoft Windows) 或my.cnf
(UNIX) 中设置log_slave_updates
值。
此评估仅对满载和CDC迁移或CDC仅限迁移有效。此评估对仅完全加载迁移无效。
验证表是否有分区,并建议target_table_prep_mode
用于满载任务设置
API密钥:mysql-check-table-partition
此迁移前评估检查源数据库中是否存在带有分区的表。DMS在 “我的SQL目标” 上创建没有分区的表。要将分区表迁移到目标系统上的分区表,必须执行以下操作:
在目标 “我的SQL数据库” 中预先创建分区表。
将您的DMS任务配置为使用
TRUNCATE_BEFORE_LOAD
或DO_NOTHING
作为满载任务设置。
有关我的SQL终端节点限制的更多信息,请参阅使用 “我的SQL数据库” 作为来源的限制 AWS DMS。
验证是否DMS支持数据库版本
API密钥:mysql-check-supported-version
此迁移前评估可验证源数据库版本是否与兼容。DMSCDC不支持 Amazon M RDS y 5.5 或更低SQL版本或 8.0.x 以上的我的SQL版本。CDC仅我的 5.6、5.7 或 8.0 SQL 版本支持。有关支持的 “我的SQL版本” 的更多信息,请参阅数据迁移的源端点。
验证目标数据库是否配置为设置local_infile
为 1
API密钥:mysql-check-target-localinfile-set
此迁移前评估检查目标数据库中的local_infile
参数是否设置为 1。DMS要求在目标数据库满负荷期间将 “local_infile” 参数设置为 1。有关更多信息,请参阅 SQL使用从 “我的” 迁移SQL到 “我的” AWS DMS。
此评估仅对满负荷或满载任务有效。CDC
验证目标数据库是否有带外键的表
API密钥:mysql-check-fk-target
此迁移前评估检查迁移到 “我的SQL数据库” 的满负荷还是满负荷以及CDC任务中是否有带外键的表。中的默认设置DMS是按字母顺序加载表。具有外键和参照完整性约束的表可能会导致加载失败,因为父表和子表可能无法同时加载。
有关引用完整性的更多信息DMS,请参阅主题中的使用索引、触发器和引用完整性约束。改进 AWS DMS 迁移的性能
验证任务范围内的源表是否具有级联约束
API密钥:mysql-check-cascade-constraints
此迁移前评估将检查 “我的SQL源表” 中是否有级联约束。DMS任务不会迁移或复制级联约束,因为 “我的” SQL 不会在二进制日志中记录这些事件的更改。虽然 AWS DMS 不支持这些限制,但你可以对关系数据库目标使用变通办法。
有关支持 cascase 限制和其他限制的信息,请参阅主题索引、外键或级联更新内容或删除内容未迁移中的迁移任务疑难解答。 AWS DMS
验证超时值是否适合 “我的SQL源” 或 “目标”
API密钥:mysql-check-target-network-parameter
此迁移前评估检查任务的 “我的SQL终端节点wait_timeout
” net_wait_timeout
和设置是否设置为至少 300 秒。net_read_timeout
这是防止迁移期间断开连接所必需的。
有关更多信息,请参阅 与目标的连接我的SQL实例在任务执行期间断开连接。