

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# のソースとしての MySQL の使用 AWS SCT
<a name="CHAP_Source.MySQL"></a>

 AWS SCT を使用して、スキーマ、データベースコードオブジェクト、およびアプリケーションコードを MySQL から次のターゲットに変換できます。
+ Amazon RDS for PostgreSQL
+ Amazon Aurora PostgreSQL 互換エディション
+ Amazon RDS for MySQL

詳細については、次のセクションを参照してください。

**Topics**
+ [ソースデータベースとしての MySQL の権限](#CHAP_Source.MySQL.Permissions)
+ [ソースとしての MySQL への接続](#CHAP_Source.MySQL.Connecting)
+ [ターゲットデータベースとしての PostgreSQL の権限](#CHAP_Source.MySQL.ConfigurePostgreSQL)

## ソースデータベースとしての MySQL の権限
<a name="CHAP_Source.MySQL.Permissions"></a>

ソースとして MySQL に必要な権限を以下に示します。
+ SELECT ON \$1.\$1 
+ SHOW VIEW ON \$1.\$1 

## ソースとしての MySQL への接続
<a name="CHAP_Source.MySQL.Connecting"></a>

以下の手順を使用して、 AWS Schema Conversion Toolを使用する MySQL ソースデータベースに接続します。

**MySQL ソースデータベースに接続するには**

1. で AWS Schema Conversion Tool、**ソースの追加**を選択します。

1. [**MySQL**] を選択し、その後 [**Next**] (次へ) を選択します。

   [**Add source**] (ソースの追加) ダイアログボックスが表示されます。

1. [**接続名**] にデータベースの名前を入力します。この名前が AWS SCT の左側のパネルのツリーに表示されます。

1. からデータベース認証情報を使用する AWS Secrets Manager か、手動で入力します。
   + Secrets Manager のデータベース認証情報を使用するには、以下の手順に従ってください。

     1. [**AWS シークレット**] で、シークレットの名前を選択します。

     1. [**入力**] を選択すると、Secrets Manager のデータベース接続ダイアログボックスにすべての値が自動的に入力されます。

     Secrets Manager からのデータベース認証情報の使用については、[AWS Secrets Manager の の設定 AWS Schema Conversion Tool](CHAP_UserInterface.SecretsManager.md) を参照してください。
   + MySQL ソースデータベースの接続情報を手動で入力するには、以下の手順に従います。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/SchemaConversionTool/latest/userguide/CHAP_Source.MySQL.html)

1. **接続のテスト**を選択して、 がソースデータベースに接続 AWS SCT できることを確認します。

1. [**Connect**] (接続) を選択して、ソースデータベースに接続します。

## ターゲットデータベースとしての PostgreSQL の権限
<a name="CHAP_Source.MySQL.ConfigurePostgreSQL"></a>

PostgreSQL をターゲットとして使用するには、 `CREATE ON DATABASE` 権限 AWS SCT が必要です。ターゲット PostgreSQL データベースごとにこの権限を必ず付与してください。

変換されたパブリックシノニムを使用するには、データベースのデフォルト検索パスを `"$user", public_synonyms, public` に変更します。

次のコード例を使用してデータベースユーザーを作成し、権限を付与できます。

```
CREATE ROLE user_name LOGIN PASSWORD 'your_password';
GRANT CREATE ON DATABASE db_name TO user_name;
ALTER DATABASE db_name SET SEARCH_PATH = "$user", public_synonyms, public;
```

前述の例では、[*user\$1name*] をお客様の設定のユーザー名に置き換えます。[*db\$1name*] をターゲットデータベースの名前に置き換えます。最後に、[*your\$1password*] を安全なパスワードに置き換えます。

PostgreSQL では、スキーマの所有者または `superuser` だけがスキーマを削除できます。スキーマ所有者が一部のオブジェクトを所有していない場合でも、スキーマとスキーマに含まれるすべてのオブジェクトを削除できます。

異なるユーザーを使用して異なるスキーマを変換し、ターゲットデータベースに適用すると、 AWS SCT がスキーマを削除できない場合にエラーメッセージが表示されることがあります。このエラーメッセージを回避するには、`superuser` ロールを使用します。