选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

使用我的SQL兼容数据库作为同构数据迁移的来源 AWS DMS

聚焦模式
使用我的SQL兼容数据库作为同构数据迁移的来源 AWS DMS - AWS 数据库迁移服务

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

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

你可以使用与 My SQL 兼容的数据库(My SQL 或 MariaDB)作为 in 的来源同构数据迁移。 AWS DMS在这种情况下,您的源数据提供者可以是本地、Amazon EC2、My SQL 或 RDS MariaDB 数据库。

要运行同构数据迁移,必须使用对要复制的所有源表和二级对象具有 SELECT 权限的数据库用户。对于更改数据捕获 (CDC) 任务,此用户还必须具有REPLICATION CLIENTBINLOG MONITOR对于高于 10.5.2 的 MariaDB 版本)和权限。REPLICATION SLAVE对于完全加载数据迁移,不需要这两个权限。

使用以下脚本在 “我的数据库” 中创建具有所需权限的SQL数据库用户。对您迁移到的所有数据库运行GRANT查询 AWS。

CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password'; GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'your_user'@'%'; GRANT SELECT, RELOAD, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER ON *.* TO 'your_user'@'%'; GRANT BACKUP_ADMIN ON *.* TO 'your_user'@'%';

在前面的示例中,用您自己的信息替换每个user input placeholder示例。如果您的源 “我的SQL数据库” 版本低于 8.0,则可以跳过该GRANT BACKUP_ADMIN命令。

可使用以下脚本,在 MariaDB 数据库中创建具所需权限的数据库用户。对您迁移到的所有数据库运行GRANT查询 AWS。

CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password'; GRANT SELECT, RELOAD, LOCK TABLES, REPLICATION SLAVE, BINLOG MONITOR, SHOW VIEW ON *.* TO 'your_user'@'%';

在前面的示例中,用您自己的信息替换每个user input placeholder示例。

以下各节描述了自我管理和由我管理的 “我的SQL数据库” 的 AWS特定配置先决条件。

使用自我管理的 My SQL 兼容数据库作为同构数据迁移的来源

本节介绍如何配置托管在本地或 Amazon EC2 实例上的 “我的SQL兼容数据库”。

检查您的源 My SQL 或 MariaDB 数据库的版本。请确保 AWS DMS 它支持您的源 My SQL 或 MariaDB 数据库版本,如中所述。DMS同构数据迁移的来源

要使用CDC,请确保启用二进制日志记录。要启用二进制日志记录,请在 My 或 MariaDB 数据库的 my.ini my.cnf (WindowsUNIX) SQL 或 () 文件中配置以下参数。

参数

server-id

将该参数设置为 1 或更大的值。

log-bin

设置二进制日志文件的路径,例如 log-bin=E:\MySql_Logs\BinLog。请勿包含文件扩展名。

binlog_format

将该参数设置为 ROW。我们建议在复制期间使用此设置,因为在某些情况下,如果 binlog_format 设置为 STATEMENT,那么在将数据复制到目标时可能会导致不一致。如果 binlog_format 设置为 MIXED,数据库引擎还会向目标写入类似的不一致数据,因为数据库引擎会自动切换到基于 STATEMENT 的日志记录。

expire_logs_days

将该参数设置为 1 或更大的值。为防止过度使用磁盘空间,我们建议您不要使用默认值 0。

binlog_checksum

将该参数设置为 NONE

binlog_row_image

将该参数设置为 FULL

log_slave_updates

TRUE如果您使用 My SQL 或 MariaDB 副本作为源,请将此参数设置为。

使用 AWS托管的 “我的SQL兼容数据库” 作为同构数据迁移的来源 AWS DMS

本节介绍如何为 My SQL 配置亚马逊,如何RDS为 MariaDB 数据库实例配置亚马逊RDS。

当您使用 AWS托管的 My SQL 或 MariaDB 数据库作为 AWS DMS中同构数据迁移的源时,请确保满足以下先决条件:CDC

  • 要为 My SQL 和 MariaDB 启用二进制日志,请在实例级别启用自动备份。RDS要为 Aurora My SQL 集群启用二进制日志,请更改参数组binlog_format中的变量。您无需为 Aurora My SQL 集群启用自动备份。

    接下来,将 binlog_format 参数设置为 ROW

    有关设置自动备份的更多信息,请参阅 Amazon RDS 用户指南中的启用自动备份

    有关为 A RDS mazon for My SQL 或 MariaDB 数据库设置二进制日志记录的更多信息,请参阅亚马逊RDS用户指南中的设置二进制日志格式

    有关为 Aurora 我的SQL集群设置二进制日志的更多信息,请参阅如何为我的 Amazon Aurora 我的SQL集群开启二进制日志记录?

  • 确保二进制日志可供使用 AWS DMS。由于 AWS-managed My SQL 和 MariaDB 数据库会尽快清除二进制日志,因此您应该延长日志的可用时间。例如,要将日志保留时间延长至 24 小时,请运行以下命令。

    call mysql.rds_set_configuration('binlog retention hours', 24);
  • binlog_row_image 参数设置为 Full

  • binlog_checksum 参数设置为 NONE

  • 如果您使用 Amazon M RDS y SQL 或 MariaDB 副本作为源,请在只读副本上启用备份,并确保将log_slave_updates参数设置为。TRUE

使用 “我的SQL兼容” 数据库作为同构数据迁移源的限制

使用 “我的SQL兼容数据库” 作为同构数据迁移的源时,存在以下限制:

  • 同构迁移任务不支持诸如序列之类的 MariaDB 对象。

  • 由于对象差异不兼容,从 MariaDB 迁移到 Amazon RDS 我的 SQL /Aurora My SQL 可能会失败。

  • 用于连接到数据源的用户名具有以下限制:

    • 长度为 2 到 64 个字符。

    • 不能包含空格。

    • 可以包含以下字符:a-z、A-Z、0-9、下划线 (_)。

    • 必须以 a-z 或 A-Z 开头。

  • 用于连接到数据源的密码具有以下限制:

    • 长度为 1 到 128 个字符。

    • 不能包含以下任何字符:单引号 (')、双引号 (")、分号 (;) 或空格。

  • AWS DMS 同构数据迁移会在目标 Amazon RDS 实例上创建未加密的 My 和 M SQL ariaDB 对象,即使源对象已加密。 RDSfor My SQL 不支持加密对象所需的 My SQL keyring_aws AWS Keyring 插件。请参阅《亚马逊RDS用户指南》中的 “我的SQL密钥环插件不支持” 文档

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。