

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 DMS 結構描述轉換中使用 MySQL 資料庫作為目標
<a name="data-providers-mysql"></a>

您可以在 DMS 結構描述轉換中使用 MySQL 資料庫作為遷移目標。

如需支援之目標資料庫的相關資訊，請參閱 [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` 特性來建立已儲存的函數。若要設定這些參數，請建立新的參數群組，或是修改現有的資料庫參數群組。