MariaDB 评估 - Amazon 数据库迁移服务
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

MariaDB 评估

本节介绍使用MariaDB源端点的迁移任务的单独迁移前评估。

要使用 Amazon DMS API 创建个人预迁移评估,请使用列出的 API 密钥作为 StartReplicationTaskAssessmentRun操作Include参数。

验证表是否使用 Innodb 以外的存储引擎

API 密钥:mariadb-check-table-storage-engine

此迁移前评估可验证用于源 MariaDB 数据库中任何表的存储引擎是否是 Innodb 以外的引擎。默认情况下,DMS使用InnoDB存储引擎创建目标表。如果您需要使用 InnoDB 以外的存储引擎,则必须在目标数据库上手动创建表,并将您的 DMS 任务配置为使用TRUNCATE_BEFORE_LOADDO_NOTHING作为满载任务设置。有关满载任务设置的更多信息,请参阅完全加载任务设置

有关 MariaDB 端点限制的更多信息,请参阅。使用 MySQL 数据库作为源代码的限制 Amazon DMS

验证是否对任何用于迁移的表启用了自动增量

API 密钥:mariadb-check-auto-increment

此迁移前评估可验证任务中使用的源表是否启用了自动增量。DMS 不会将列上的 AUTO_INCREMENT 属性迁移到目标数据库。

有关 MariaDB 端点限制的更多信息,请参阅。使用 MySQL 数据库作为源代码的限制 Amazon DMS有关在 MariaDB 中处理标识列的信息,请参见 Amazon DMS:第 2 部分中的处理身份列

验证数据库二进制日志格式是否设置ROW为支持 DMS CDC

API 密钥:mariadb-check-binlog-format

此迁移前评估将验证源数据库二进制日志格式是否设置为ROW支持 DMS 更改数据捕获 (CDC)。

要将二进制日志格式设置为ROW,请执行以下操作:

  • 对于 Amazon RDS,请使用数据库的参数组。有关使用 RDS 参数组的信息,请参阅 A mazon RDS 用户指南中的配置 MySQL 二进制日志记录

  • 对于托管在本地或亚马逊 EC2 上的数据库,请在 my.ini (Microsoft Windows) 或 my.cnf (UNIX) 中设置binlog_format值。

此评估仅对完全加载迁移和 CDC 迁移或仅 CDC 迁移有效。此评估对仅完全加载迁移无效。

有关自托管 MariaDB 服务器的更多信息,请参阅。使用自管理的 MySQL 兼容数据库作为源 Amazon DMS

验证数据库二进制日志图像是否设置FULL为支持 DMS CDC

API 密钥:mariadb-check-binlog-image

此迁移前评估检查源数据库的二进制日志图像是否设置为。FULL在MariaDB中,该binlog_row_image变量决定了使用该格式时如何写入二进制日志事件。ROW为确保与 DMS 兼容并支持 CDC,请FULLbinlog_row_image变量设置为。此设置可确保 DMS 收到足够的信息,以便在迁移期间为目标数据库构建完整的数据操作语言 (DML)。

要将二进制日志图像设置为FULL,请执行以下操作:

  • 对于 Amazon RDS,此值是FULL默认值。

  • 对于托管在本地或亚马逊 EC2 上的数据库,请在 my.ini (Microsoft Windows) 或 my.cnf (UNIX) 中设置binlog_row_image值。

此评估仅对完全加载迁移和 CDC 迁移或仅 CDC 迁移有效。此评估对仅完全加载迁移无效。

有关自托管 MariaDB 服务器的更多信息,请参阅。使用自管理的 MySQL 兼容数据库作为源 Amazon DMS

验证源数据库是否为 MariaDB 只读副本

API 密钥:mariadb-check-database-role

此迁移前评估可验证源数据库是否为只读副本。要在连接到只读副本时启用 DMS 的 CDC 支持,请将log_slave_updates参数设置为。True有关使用自行管理的 MySQL 数据库的更多信息,请参阅使用自管理的 MySQL 兼容数据库作为源 Amazon DMS

要将该log_slave_updates值设置为True,请执行以下操作:

  • 对于 Amazon RDS,请使用数据库的参数组。有关使用 RDS 数据库参数组的信息,请参阅 Amazon RDS 用户指南中的使用参数组

  • 对于托管在本地或亚马逊 EC2 上的数据库,请在 my.ini (Microsoft Windows) 或 my.cnf (UNIX) 中设置log_slave_updates值。

此评估仅对完全加载迁移和 CDC 迁移或仅 CDC 迁移有效。此评估对仅完全加载迁移无效。

验证表是否有分区,并建议TRUNCATE_BEFORE_LOADDO_NOTHING用于满载任务设置

API 密钥:mariadb-check-table-partition

此迁移前评估检查源数据库中是否存在带有分区的表。DMS 在 MariaDB 目标上创建没有分区的表。要将分区表迁移到目标系统上的分区表,必须执行以下操作:

  • 在目标 MariaDB 数据库中预先创建分区表。

  • 将您的 DMS 任务配置为使用TRUNCATE_BEFORE_LOADDO_NOTHING作为满载任务设置。

有关 MariaDB 端点限制的更多信息,请参阅。使用 MySQL 数据库作为源代码的限制 Amazon DMS

验证 DMS 是否支持数据库版本

API 密钥:mariadb-check-supported-version

此迁移前评估验证源数据库版本是否与 DMS 兼容。亚马逊 RDS MariaDB 10.4 或更低版本或 10.11 以上的 MySQL 版本不支持 CDC。有关支持的 MariaDB 版本的更多信息,请参阅。数据迁移的源端点

验证目标数据库是否配置为设置local_infile为 1

API 密钥:mariadb-check-target-localinfile-set

此迁移前评估检查目标数据库中的local_infile参数是否设置为 1。在目标数据库满负荷期间,DMS 要求将 “local_infile” 参数设置为 1。有关更多信息,请参阅 使用 Amazon DMS从 MySQL 迁移到 MySQL。

此评估仅对满负荷任务有效。

验证目标数据库是否有带外键的表

API 密钥:mariadb-check-fk-target

此迁移前评估检查迁移到MariaDB数据库的CDC任务是否包含带有外键的表。DMS 中的默认设置是按字母顺序加载表。具有外键和参照完整性约束的表可能会导致加载失败,因为父表和子表可能无法同时加载。

有关 DMS 中引用完整性的更多信息,请参阅主题中的使用索引、触发器和参照完整性约束改进 Amazon DMS 迁移的性能

验证任务范围内的源表是否具有级联约束

API 密钥:mariadb-check-cascade-constraints

此迁移前评估检查是否有任何MariaDB源表具有级联约束。DMS 任务不会迁移或复制级联约束,因为 MariaDB 不会在二进制日志中记录这些事件的更改。虽然 Amazon DMS 不支持这些限制,但你可以对关系数据库目标使用变通办法。

有关支持 cascase 限制和其他限制的信息,请参阅主题索引、外键或级联更新内容或删除内容未迁移中的迁移任务疑难解答。 Amazon DMS

验证任务范围内的源表是否已生成列

API 密钥:mariadb-check-generated-columns

此迁移前评估检查是否有任何MariaDB源表已生成列。DMS 任务不会迁移或复制生成的列。

有关如何迁移生成的列的信息,请参见

验证超时值是否适合于 MariaDB 源

API 密钥:mariadb-check-source-network-parameter

此迁移前评估检查任务的 MariaDB 源端点是否net_read_timeoutnet_wait_timeoutwait_timeout和设置设置为至少 300 秒。这是防止迁移期间断开连接所必需的。

有关更多信息,请参阅 与目标 MySQL 实例的连接在任务期间中断

验证超时值是否适合于 MariaDB 目标

API 密钥:mariadb-check-target-network-parameter

此迁移前评估检查任务的 MariaDB 目标端点是否net_read_timeoutnet_wait_timeoutwait_timeout和设置设置为至少 300 秒。这是防止迁移期间断开连接所必需的。

有关更多信息,请参阅 与目标 MySQL 实例的连接在任务期间中断