pythonでrdsのmysqlへ接続したい
Pythonを使ってAWS RDSのMySQLデータベースに接続するには、一般的にはmysql-connector-pythonやPyMySQLなどのライブラリを使用します。ここでは、mysql-connector-pythonを使った手順を説明します。
手順
1. ライブラリのインストール
まず、必要なライブラリをインストールします。
bash
pip install mysql-connector-python
2. 接続スクリプトの作成
次に、Pythonスクリプトを作成してRDSのMySQLに接続します。
python
import mysql.connector from mysql.connector import Error def connect(): """ Connect to MySQL database """ try: connection = mysql.connector.connect( host='your-rds-endpoint.rds.amazonaws.com', database='yourdatabase', user='yourusername', password='yourpassword' ) if connection.is_connected(): db_info = connection.get_server_info() print(f"Connected to MySQL database... MySQL Server version on {db_info}") cursor = connection.cursor() cursor.execute("select database();") record = cursor.fetchone() print(f"You're connected to database: {record}") except Error as e: print(f"Error while connecting to MySQL: {e}") finally: if connection.is_connected(): cursor.close() connection.close() print("MySQL connection is closed") if __name__ == '__main__': connect()
3. スクリプトの実行
保存したスクリプトを実行します。
bash
python your_script.py
確認事項
-
RDSインスタンスのエンドポイント:
- スクリプト内の
hostに指定する値は、RDSインスタンスのエンドポイントです。
- スクリプト内の
-
データベース名:
databaseに指定する値は、接続したいデータベースの名前です。
-
ユーザー名とパスワード:
userとpasswordには、MySQLにアクセスするためのユーザー名とパスワードを指定します。
セキュリティグループの設定
RDSインスタンスのセキュリティグループが、Pythonスクリプトを実行しているマシンのIPアドレスからの接続を許可していることを確認してください。これが設定されていないと、接続が拒否されます。
- セキュリティグループの設定:
- AWS Management Consoleで「EC2」サービスに移動し、「セキュリティグループ」を選択します。
- RDSインスタンスに関連付けられているセキュリティグループを選択します。
- 「インバウンドルールの編集」をクリックし、新しいルールを追加します。
- タイプ: MySQL/Aurora
- プロトコル: TCP
- ポート範囲: 3306
- ソース: 接続元のIPアドレス(または許可する範囲)
これで、Pythonスクリプトを使ってAWS RDSのMySQLに接続できるはずです。接続に成功すれば、データベースの情報が出力されます。問題が発生する場合は、エラーメッセージを確認し、接続情報やセキュリティグループの設定を見直してください。

ディスカッション
コメント一覧
まだ、コメントがありません