MySQL データベースエンジンを実行している DB インスタンスへの接続
MySQL データベースエンジンを実行している DB インスタンスに接続するには、DB インスタンスを作成する必要があります。詳細については、「Amazon RDS DB インスタンスの作成」を参照してください。Amazon RDS によって DB インスタンスがプロビジョニングされたら、スタンダードの MySQL クライアントアプリケーションまたはユーティリティを使用してインスタンスに接続できます。接続文字列では、DB インスタンスのエンドポイントの DNS アドレスをホストパラメータとして指定し、DB インスタンスのエンドポイントのポート番号をポートパラメータとして指定します。
RDS DB インスタンスを認証するには、MySQL の認証メソッドのいずれかと AWS Identity and Access Management (IAM) データベース認証を使用できます。
MySQL の認証方法のいずれかを使用して MySQL に対して認証する方法については、MySQL ドキュメントの「認証方法
」を参照してください。 IAM データベース認証を使用して MySQL を認証する方法については、「MariaDB、MySQL、および PostgreSQL の IAM データベース認証」を参照してください。
MySQL コマンドラインクライアントなどのツールを使用して、MySQL DB インスタンスに接続できます。MySQL コマンドラインクライアントを使用する方法については、MySQL ドキュメントの「mysql - MySQL コマンドラインクライアント
ほとんどの Linux ディストリビューションには、Oracle MySQL クライアントではなく MariaDB クライアントが含まれています。MariaDB の MySQL コマンドラインクライアントを Amazon Linux 2023 にインストールするには、次のコマンドを実行します。
sudo dnf install mariadb105
MariaDB の MySQL コマンドラインクライアントを Amazon Linux 2 にインストールするには、次のコマンドを実行します。
sudo yum install mariadb
ほとんどの DEB ベースの Linux ディストリビューションに MySQL コマンドラインクライアントをインストールするには、次のコマンドを実行します。
apt-get install mariadb-client
MySQL コマンドラインクライアントのバージョンを確認するには、次のコマンドを実行します。
mysql --version
現在のクライアントバージョン用の MySQL ドキュメントを表示するには、次のコマンドを実行します。
man mysql
Amazon VPC の外部から DB インスタンスに接続するには、DB インスタンスがパブリックにアクセス可能であり、アクセスが DB インスタンスのセキュリティグループのインバウンドルールで許可されているなど、いくつかの要件を満たす必要があります。詳細については、「Amazon RDS DB インスタンスに接続できない」を参照してください。
MySQL DB インスタンスへの接続で Secure Sockets Layer (SSL) または Transport Layer Security (TLS) 暗号化を使用できます。詳細については、「MySQL DB インスタンスで SSL を使用する」を参照してください。AWS Identity and Access Management (IAM) データベース認証を使用している場合は、必ず SSL/TLS 接続を使用してください。詳細については、「MariaDB、MySQL、および PostgreSQL の IAM データベース認証」を参照してください。
また、ウェブサーバーから DB インスタンスに接続することもできます。詳細については、「チュートリアル: ウェブサーバーと Amazon RDS DB インスタンスを作成する」を参照してください。
注記
MariaDB DB インスタンスとの接続方法の詳細については、「MariaDB データベースエンジンを実行している DB インスタンスへの接続」を参照してください。
トピック
MySQL DB インスタンスの接続情報の検索
DB インスタンスの接続情報には、エンドポイント、ポート、およびマスターユーザーなどの有効なデータベースユーザーが含まれます。例えば、エンドポイントの値が mydb.123456789012.us-east-1.rds.amazonaws.com
であるとします。この場合、ポート値は 3306
であり、データベースユーザーは admin
です。この情報を考慮して、接続文字列に次の値を指定します。
-
ホスト、ホスト名または DNS 名には、
mydb.123456789012.us-east-1.rds.amazonaws.com
を指定します。 -
ポートで、
3306
を指定します。 -
ユーザーには、
admin
を指定します。
DB インスタンスに接続するには、MySQL DB エンジンの任意のクライアントを使用します。例えば、MySQL コマンドラインクライアントまたは MySQL ワークベンチを使用できます。
DB インスタンスの接続情報を検索するには、AWS Management Console、AWS CLI describe-db-instances コマンド、または Amazon RDS API DescribeDBInstances オペレーションを使用して、詳細を一覧表示できます。
AWS Management Console で DB インスタンスの接続情報を探すには
AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/
) を開きます。 -
ナビゲーションペインで、[データベース] を選択して DB インスタンスのリストを表示します。
-
MySQL DB インスタンスの名前を選択して、その詳細を表示します。
-
[接続とセキュリティ] タブで、エンドポイントをコピーします。また、ポート番号を書き留めます。DB インスタンスに接続するには、エンドポイントとポート番号の両方が必要です。
-
マスターユーザーネームを見つける必要がある場合は、[設定] タブを選択し、[マスターユーザーネーム] の値を表示します。
AWS CLI を使用して MySQL DB インスタンスの接続情報を検索するには、describe-db-instances コマンドを呼び出します。呼び出しで、DB インスタンス ID、エンドポイント、ポート、マスターユーザー名をクエリします。
Linux、macOS、Unix の場合:
aws rds describe-db-instances \ --filters "Name=engine,Values=mysql" \ --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"
Windows の場合:
aws rds describe-db-instances ^ --filters "Name=engine,Values=mysql" ^ --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"
出力は次のようになります。
[ [ "mydb1", "mydb1.123456789012.us-east-1.rds.amazonaws.com", 3306, "admin" ], [ "mydb2", "mydb2.123456789012.us-east-1.rds.amazonaws.com", 3306, "admin" ] ]
Amazon RDS API を使用して DB インスタンスの接続情報を検索するには、DescribeDBInstances オペレーションを呼び出します。出力で、エンドポイントアドレス、エンドポイントポート、およびマスターユーザー名の値を検索します。
MySQL コマンドラインクライアントからの接続 (非暗号化)
重要
クライアントとサーバーが同じ VPC にあり、ネットワークが信頼されている場合に限り、暗号化されていない MySQL 接続を使用します。暗号化された接続の使用については、「SSL/TLS を使用した MySQL コマンドラインクライアントからの接続 (暗号化)」を参照してください。
MySQL コマンドラインクライアントを使用して DB インスタンスに接続するには、コマンドプロンプトで次のコマンドを入力します。-h パラメータは、DB インスタンスの DNS 名 (エンドポイント) に置き換えます。- P パラメータは、使用中の DB インスタンスのポートに置き換えます。-u パラメータでは、マスターユーザーなどの有効なデータベースユーザーのユーザー名に置き換えます。プロンプトが表示されたら、マスターユーザーパスワードを入力します。
mysql -h
mysql–instance1.123456789012.us-east-1.rds.amazonaws.com
-P 3306 -umymasteruser
-p
ユーザーのパスワードを入力すると、次のような出力が表示されます。
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9738
Server version: 8.0.28 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
MySQL Workbench からの接続
MySQL Workbench から接続するには
-
MySQL Workbench (MySQL Workbench のダウンロード
) をダウンロードしてインストールします。 -
MySQL Workbench を開きます。
-
[データベース] から、[Manage Connections (接続の管理)] を選択します。
-
[Manage Server Connections (サーバー接続の管理)] ウィンドウで、 [新規] を選択します。
-
[Connect to Database (データベースに接続)] ウィンドウに、次の情報を入力します。
-
[Stored Connection] - 接続の名前 (
MyDB
など) を入力します。 -
[ホスト名] - DB インスタンスのエンドポイントを入力します。
-
[ポート] - DB インスタンスで使用するポートを入力します。
-
[ユーザーネーム] - マスターユーザーなど、有効なデータベースユーザーのユーザーネームを入力します。
-
[パスワード] - 必要に応じて、[Store in Vault (ボールトに保存)] を選択し、ユーザーのパスワードを入力して保存します。
ウィンドウは次のようになります。
MySQL Workbench の機能を使用して、接続をカスタマイズできます。例えば、[SSL] タブを使用して SSL/TLS 接続を設定できます。MySQL Workbench の使用方法については、「MySQL Workbench のドキュメント
」を参照してください。SSL/TLS を使用した MySQL DB インスタンスへのクライアント接続の暗号化については、SSL/TLS を使用した MySQL DB インスタンスへのクライアント接続の暗号化 を参照してください。 -
-
必要に応じて [Test Connection] を選択して、DB インスタンスへの接続が成功したことを確認します。
-
[Close] (閉じる) を選択します。
-
[データベース] から、[Connect to Database (データベースに接続)] を選択します。
-
[Stored Connection] から、接続を選択します。
-
[OK] をクリックします。
Connecting with the Amazon Web Services JDBC Driver for MySQL (MySQL 用アマゾン ウェブ サービス JDBC ドライバーとの接続)
MySQL 用 AWS JDBC ドライバーは、RDS for MySQL 用に設計されたクライアントドライバーです。デフォルトでは、ドライバーは RDS for MySQL で使用するために最適化された設定になっています。ドライバーの詳細と使用方法の詳細については、「AWSJDBC Driver for MySQL GitHub リポジトリ」
ドライバーは、MySQL Connector/J ドライバーとドロップインの互換性があります。コネクタをインストールまたはアップグレードするには、MySQL コネクタの .jar ファイル (アプリケーション CLASSPATH にある) を MySQL 用 AWS JDBC ドライバーの .jar ファイルに置き換え、接続 URL のプレフィックスを jdbc:mysql://
から jdbc:mysql:aws://
に更新します。
AWS MySQL 用の JDBC ドライバーは IAM データベース認証をサポートしています。詳細については、MySQL GitHub リポジトリ用の AWS JDBC ドライバーの「AWS IAM データベースの認証
MySQL DB インスタンスへの接続のトラブルシューティング
新しい DB インスタンスへの接続に失敗する一般的な原因には、次の 2 つがあります。
-
MySQL アプリケーションまたはユーティリティが実行されているデバイスまたは Amazon EC2 インスタンスからの接続を許可しないセキュリティグループを使用して DB インスタンスが作成されました。DB インスタンスには、接続を許可する VPC セキュリティグループが必要です。詳しくは、「Amazon VPC VPC とAmazon RDS」を参照してください。
セキュリティグループでインバウンドのルールを追加または編集できます。[ソース] には [マイ IP] を選択します。これにより、ブラウザで検出された IP アドレスから DB インスタンスへのアクセスが許可されます。
-
DB インスタンスが、デフォルトポートの 3306 を使用して作成されたが、会社のファイアウォールルールで、社内ネットワークのデバイスからそのポートへの接続がブロックされています。この問題を解決するには、別のポートでインスタンスを再起動します。
接続の問題の詳細については、「Amazon RDS DB インスタンスに接続できない」を参照してください。