

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

# 使用将源架构迁移到目标数据库 AWS SCT
<a name="CHAP_GettingStarted.SCT"></a>

我们建议使用 DMS 架构转换来转换源数据库架构。有关更多信息，请参阅 [开始使用 DMS 架构转换](getting-started.md)。如果您更喜欢使用旧版 AWS Schema Conversion Tool，请按照以下步骤操作。

**使用将源架构迁移到目标数据库 AWS SCT**

1. 安装 AWS Schema Conversion Tool。有关更多信息，请参阅《AWS 用户指南》**中的[安装、验证和更新 AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.Procedure)。

   下载适用于 MySQL 和 PostgreSQL 的 JDBC 驱动程序时，请记下驱动程序的保存位置，以在工具提示您输入驱动程序的位置时使用。

1. 打开 AWS Schema Conversion Tool. 请选择**文件**，然后选择**新建项目**。

1. 在**新建项目**窗口中，设置以下值：
   + 将**项目名称**设置为 **DMSProject**。
   + 保持**位置**不变，将 AWS SCT 项目存储在默认文件夹中。

   选择**确定**。

1. 选择**添加源**以将源 MySQL 数据库添加到项目中，然后选择 **MySQL** 并选择**下一步**。

1. 在**添加源**页面上，设置以下值：
   + **连接名称**：**source**
   + **服务器名称**：输入您之前记下的 MySQL 数据库的端点。
   + **服务器端口**：**3306**
   + **用户名**：**admin**
   + **密码**：**changeit**

1. 选择**添加目标**以将目标 Amazon RDS for PostgreSQL 数据库添加到项目中，然后选择 **Amazon RDS for PostgreSQL**。选择 **下一步**。

1. 在**添加目标**页面上，设置以下值：
   + **连接名称**：**target**
   + **服务器名称**：输入您之前记下的 PostgreSQL 数据库的端点。
   + **服务器端口**：**5432**
   + **数据库**：输入 PostgreSQL 数据库的名称。
   + **用户名**：**postgres**
   + **密码**：**changeit**

1. 在左侧窗格中，选择**架构**下的 **dms\$1sample**。在右侧窗格中，选择您的目标 Amazon RDS for PostgreSQL 数据库。选择**创建映射**。您可以向单个 AWS SCT 项目添加多个映射规则。有关映射规则的更多信息，请参阅[创建映射规则](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Mapping.html)。

1. 选择**主视图**。

1. 在左侧窗格中，选择**架构**下的 **dms\$1sample**。打开上下文（右键单击）菜单并选择**转换架构**。确认该操作。

   在工具转换了架构后，**dms\$1sample** 架构将显示在右窗格中。

1. 在右侧窗格的**架构**下，打开 **dms\$1sample** 的上下文（右键单击）菜单，然后选择**应用到数据库**。确认该操作。

验证架构迁移已完成。执行以下步骤。

**检查架构迁移**

1. 连接到您的 Amazon EC2 客户端。

1. 使用以下命令启动 PSQL 客户端。指定您的 PostgreSQL 数据库端点，并在出现提示时提供数据库密码。

   ```
   psql \
      --host=dms-postgresql.abcdefg12345.us-west-2.rds.amazonaws.com \
      --port=5432 \
      --username=postgres \
      --password \
      --dbname=dms_sample
   ```

1. 查询其中一个（空）表以验证是否正确 AWS SCT 应用了架构，

   ```
   dms_sample=> SELECT * from dms_sample.player;
    id | sport_team_id | last_name | first_name | full_name
   ----+---------------+-----------+------------+-----------
   (0 rows)
   ```