

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

# 從適用於 Linux、UNIX 和 Windows 的 IBM DB2 遷移至 Amazon RDS for MySQL 或 Amazon Aurora MySQL
<a name="CHAP_Source.DB2LUW.ToMySQL"></a>

當您將 IBM Db2 LUW 資料庫轉換為 RDS for MySQL 或 Amazon Aurora MySQL 時，請注意下列事項。

## 將 MySQL 作為目標的權限
<a name="CHAP_Source.DB2LUW.ToMySQL.ConfigureTarget"></a>

MySQL 做為目標所需的權限如下：
+ CREATE ON \*.\*
+ ALTER ON \*.\*
+ DROP ON \*.\*
+ INDEX ON \*.\*
+ 參考開啟 \*.\*
+ SELECT ON \*.\*
+ 在 \*.\* 上建立檢視
+ SHOW VIEW ON \*.\*
+ 觸發開啟 \*.\*
+ CREATE ROUTINE ON \*.\*
+ ALTER ROUTINE ON \*.\*
+ EXECUTE ON \*.\*
+ SELECT ON mysql.proc
+ INSERT，更新 AWS\_DB2\_EXT.\*
+ 在 AWS\_DB2\_EXT\_DATA 上插入、更新、刪除。\*
+ 在 AWS\_DB2\_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` 特性來建立已儲存的函數。若要設定這些參數，請建立新的參數群組，或是修改現有的資料庫參數群組。