

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

# 使用 MySQL 数据库作为 DMS 架构转换的目标
<a name="data-providers-mysql"></a>

您可以使用 MySQL 数据库作为 DMS 架构转换的迁移目标。

有关支持的目标数据库的信息，请参阅 [DMS 架构转换的目标数据提供程序](CHAP_Introduction.Targets.md#CHAP_Introduction.Targets.SchemaConversion)。

## 使用 MySQL 作为目标所需的权限
<a name="data-providers-mysql-permissions"></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 *.*`
+ `CREATE TEMPORARY TABLES ON *.*`
+ `AWS_LAMBDA_ACCESS (Only valid for Aurora MySQL)`
+ `INSERT, UPDATE ON AWS_ORACLE_EXT.*`
+ `INSERT, UPDATE, DELETE ON AWS_ORACLE_EXT_DATA.*`
+ `INSERT, UPDATE ON AWS_SQLSERVER_EXT.*`
+ `INSERT, UPDATE, DELETE ON AWS_SQLSERVER_EXT_DATA.*`
+ `CREATE TEMPORARY TABLES ON AWS_SQLSERVER_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 CREATE TEMPORARY TABLES ON *.* TO '{{user_name}}';
GRANT AWS_LAMBDA_ACCESS TO '{{user_name}}'; (Only valid for Aurora MySQL)
GRANT INSERT, UPDATE ON AWS_ORACLE_EXT.* TO '{{user_name}}';
GRANT INSERT, UPDATE, DELETE ON AWS_ORACLE_EXT_DATA.* TO '{{user_name}}';
GRANT INSERT, UPDATE ON AWS_SQLSERVER_EXT.* TO '{{user_name}}';
GRANT INSERT, UPDATE, DELETE ON AWS_SQLSERVER_EXT_DATA.* TO '{{user_name}}';
GRANT CREATE TEMPORARY TABLES ON AWS_SQLSERVER_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` 特性创建存储函数。要配置这些参数，可创建新的数据库参数组或修改现有数据库参数组。