AWS Database Migration Service
分步迁移指南 (API 版本 2016-01-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

步骤 6:创建 AWS DMS 源和目标终端节点

在创建复制实例时,您可以使用 AWS 管理控制台指定源和目标数据库终端节点。不过,您只能在创建复制实例后测试连接,因为将在连接中使用复制实例。

使用 控制台指定源或目标数据库终端节点

  1. 在 AWS DMS 控制台中,指定源 SQL Server 数据库和目标 Aurora MySQL 数据库的连接信息。下表描述了源设置。

    参数 说明

    终端节点标识符

    键入名称,例如 SQLServerSource

    Source Engine

    选择 sqlserver

    服务器名称

    提供 SQL Server 数据库实例服务器名称。

    端口

    键入数据库的端口号。SQL Server 的默认值为 1433

    SSL 模式

    如果要为连接的流量启用加密,请选择 SSL 模式。

    用户名

    键入要用于连接到源数据库的用户的名称。

    密码

    提供用户的密码。

    数据库名称

    提供 SQL Server 数据库名称。

    下表描述了高级源设置。

    参数 说明

    额外的连接属性

    您可以在终端节点中设置这些额外参数以添加功能或更改 AWS DMS 行为。此处列出了几个最相关的属性。请使用分号 (;) 分隔多个条目。

    • safeguardpolicy - 使用以下方法更改 SQL Server 行为:打开事务以防止在 AWS DMS 读取事务日志时截断日志。有效值为 EXCLUSIVE_AUTOMATIC_TRUNCATIONRELY_ON_SQL_SERVER_REPLICATION_AGENT (默认值)。

    • useBCPFullLoad - 指示 AWS DMS 使用 BCP(批量复制)加载数据。有效值为 YN。如果目标表包含的身份列在源表中不存在,您必须将该参数设置为 N 以禁止使用 BCP 加载表。

    • BCPPacketSize – 如果启用 BCP 以加载数据,请输入 BCP 使用的最大数据包大小。有效值为 1100000 (默认为 16384)。

    • controlTablesFileGroup - 指定用于 AWS DMS 过程在数据库中创建的控制表的文件组。

    KMS 主密钥

    如果选择加密您的复制实例的存储,请输入 KMS 主密钥。

    下表描述了目标设置。

    参数 说明

    终端节点标识符

    键入名称,例如 Auroratarget

    目标引擎

    选择 aurora

    服务器名称

    提供主实例的 Aurora MySQL 数据库服务器名称。

    端口

    键入数据库的端口号。Aurora MySQL 的默认值为 3306

    SSL 模式

    选择 None

    用户名

    键入要用于连接到目标数据库的用户的名称。

    密码

    提供用户的密码。

    下表描述了高级目标设置。

    参数 说明

    额外的连接属性

    您可以在终端节点中设置这些额外参数以添加功能或更改 AWS DMS 行为。此处列出了几个最相关的属性。请使用分号分隔多个条目。

    • targetDbType - 默认情况下,AWS DMS 为迁移的每个架构创建不同的数据库。如果要将几个架构合并到一个数据库中,请将该选项设置为 targetDbType=SPECIFIC_DATABASE

    • initstmt – 使用该选项调用 MySQL initstmt 连接参数并接受 MySQL initstmt 接受的任何设置。对于 Aurora MySQL 目标,将该选项设置为 initstmt=SET FOREIGN_KEY_CHECKS=0 以禁用外键检查通常是非常有用的。

    KMS 主密钥

    如果选择加密您的复制实例的存储,请输入 KMS 主密钥。

    以下是填写的页面示例。

    
                            填写的“Replication Task”(复制任务) 页,其中显示已成功创建复制实例

    有关额外连接属性的信息,请参阅将额外的连接属性与 AWS Database Migration Service 一起使用

  2. 在创建终端节点和复制实例后,为源和目标终端节点选择运行测试以测试终端节点连接。

  3. 删除目标数据库上的外键约束和触发器。

    在完全加载过程中,AWS DMS 不会按任何特定顺序加载表,因此,可能会在加载父表数据之前加载子表数据。因此,可能会违反外键约束 (如果已启用)。此外,如果在目标数据库上具有触发器,它们可能会以意外方式更改 AWS DMS 加载的数据。

    ALTER TABLE 'table_name' DROP FOREIGN KEY 'fk_name'; DROP TRIGGER 'trigger_name';
  4. 如果删除了目标数据库上的外键约束和触发器,请生成一个脚本以启用外键约束和触发器。

    以后,如果要将这些内容添加到迁移的数据库中,您只需运行该脚本。

  5. (可选) 删除目标数据库上的辅助索引。

    辅助索引 (与所有索引一样) 可能会降低将数据完全加载到表的速度,因为必须在加载过程中保留和更新这些索引。删除这些索引可以提高完全加载过程的性能。如果删除这些索引,您必须在完全加载完成后重新添加这些索引。

    ALTER TABLE 'table_name' DROP INDEX 'index_name';
  6. 选择 Next