AWS RDSのMariaDBにPython3で接続する方法

AWS

Amazon RDSのMriaDBに、クライアントPCからPython3のスクリプトで接続する方法を紹介します。

事前に、Amazon RDSの設定で、パブリックアクセスを許可しておきます。
次の記事に詳細が載っています。

パブリックアクセスを許可するAWS RDSの設定 (2020年版)
インスタンスへのパブリックアクセスを許可するAmazon RDSの設定を紹介します。 パブリックアクセス(PCなどAWS以外からのアクセス)を許可するには、パブリックアクセシビリティと、セキュリティグループの変更が必要です。 また、許可するPCなどをIPアドレスで制限しておくと安心です。

 

接続するためのモジュールには、MySQL Connector/Pythonを使用しました。

 

スポンサーリンク

メソッドの引数

mysql.connector.connect()メソッドの引数は次の通りです。

conn = mysql.connector.connect(
    host='<endpoint>',
    port='<port>',
    user='<masteruser>',
    password='<masterpassword>',
    database='<database>'
)

 

host='<endpoint>'MariaDBのインスタンスのエンドポイント
port='<port>'ポート番号(通常MySQLやMariaDBでは3306)
user='<masteruser>'インスタンスのマスターユーザーID
password='<masterpassword>'マスターユーザーのパスワード
database='<database>'接続したいデータベース名

 

エンドポイント:mariadb-instance.123456789012.ap-northeast-1.rds.amazonaws.com
ポート番号:3306
マスターユーザーID:admin
マスターパスワード:mypassword
データベース:testdatabase
の場合、スクリプトは次のようになります。

mysql_connector_python2.py

import mysql.connector

# コネクションを作成します。
conn = mysql.connector.connect(
    host='mariadb-instance.123456789012.ap-northeast-1.rds.amazonaws.com',
    port='3306',
    user='admin',
    password='mypassword',
    database='testdatabase'
)

# コネクションの状態を出力します。
print(conn.is_connected())

# コネクションを閉じます。
conn.close()

 

スクリプトの実行

コマンドプロンプトからスクリプトを実行します。

Pythonへのパスは、Pythonのインストール時に追加されています。
なお、作成したスクリプトのファイル「mysql_connector_python2.py」は「C:¥Users¥owner」にあります。

> python mysql_connector_python2.py
True

コネクションの状態「True」がプリントされ、このスクリプトでAmazon RDSのMariaDBに接続できることが確認できました。

引数に設定する値の確認方法

<endpoint>、<port>、<masteruser>、<database>の値は、Amazon RDSの管理画面からインスタンスの詳細を表示すると確認できます。

[接続とセキュリティ]タブ

 

[設定]タブ

 

 

パスワードを紛失した場合

マスターパスワードを紛失した場合は、Amazon RDSの管理画面からリセットできます。

インスタンスの詳細を表示して、右上の[変更]をクリックします。
表示された変更画面から、新しいマスターパスワードを設定できます。

 

最後までご覧いただきありがとうございます。
では、また。