

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

# 从 DB2 适用于 Linux、UNIX 和 Windows 的 IBM 迁移到适用于 MySQL 的亚马逊 RDS 或亚马逊 Aurora MySQL
<a name="CHAP_Source.DB2LUW.ToMySQL"></a>

将 IBM Db2 LUW 数据库转换为适用于 MySQL 的 RDS 或 Amazon Aurora MySQL 时，请注意以下几点。

## 将 MySQL 用作目标的权限
<a name="CHAP_Source.DB2LUW.ToMySQL.ConfigureTarget"></a>

下面列出了将 MySQL 用作目标所需的权限：
+ CREATE ON \*.\*
+ ALTER ON \*.\*
+ DROP ON \*.\*
+ INDEX ON \*.\*
+ REFERENCES ON \*.\*
+ SELECT ON \*.\*
+ CREATE VIEW ON \*.\*
+ SHOW VIEW ON \*.\*
+ TRIGGER ON \*.\*
+ CREATE ROUTINE ON \*.\*
+ ALTER ROUTINE ON \*.\*
+ EXECUTE ON \*.\*
+ SELECT ON mysql.proc
+ 插入，在 AWS\_DB 2\_EXT 上更新。 \*
+ 在 AWS\_DB 2\_EXT\_DATA 上插入、更新、删除。 \*
+ 在 AWS\_DB 2\_EXT\_DATA 上创建临时表。 \*

您可以使用以下代码示例创建数据库用户并授予权限。

```
CREATE USER '{{user_name}}' IDENTIFIED BY '{{your_password}}';
GRANT CREATE ON *.* TO '{{user_name}}';
GRANT ALTER ON *.* TO '{{user_name}}';
GRANT DROP ON *.* TO '{{user_name}}';
GRANT INDEX ON *.* TO '{{user_name}}';
GRANT REFERENCES ON *.* TO '{{user_name}}';
GRANT SELECT ON *.* TO '{{user_name}}';
GRANT CREATE VIEW ON *.* TO '{{user_name}}';
GRANT SHOW VIEW ON *.* TO '{{user_name}}';
GRANT TRIGGER ON *.* TO '{{user_name}}';
GRANT CREATE ROUTINE ON *.* TO '{{user_name}}';
GRANT ALTER ROUTINE ON *.* TO '{{user_name}}';
GRANT EXECUTE ON *.* TO '{{user_name}}';
GRANT SELECT ON mysql.proc TO '{{user_name}}';
GRANT INSERT, UPDATE ON AWS_DB2_EXT.* TO '{{user_name}}';
GRANT INSERT, UPDATE, DELETE ON AWS_DB2_EXT_DATA.* TO '{{user_name}}';
GRANT CREATE TEMPORARY TABLES ON AWS_DB2_EXT_DATA.* TO '{{user_name}}';
```

在前面的示例中，{{user\_name}}使用您的用户名替换。然后，{{your\_password}}替换为安全密码。

要使用 Amazon RDS for MySQL 或 Aurora MySQL 作为目标，请将 `lower_case_table_names` 参数设置为 `1`。此值意味着 MySQL 服务器在处理表、索引、触发器和数据库等对象名称的标识符时不区分大小写。如果目标实例中已开启二进制日志记录，请将 `log_bin_trust_function_creators` 参数设置为 `1`。在这种情况下，您无需使用 `DETERMINISTIC`、`READS SQL DATA` 或 `NO SQL` 特性创建存储函数。要配置这些参数，请创建新的数据库参数组或修改现有数据库参数组。