0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

EC2からmysqlでRDSに接続する

Last updated at Posted at 2022-06-16

本記事ではEC2からRDSへPythonを通してアクセスしてみようと思います。
https://dev.mysql.com/doc/connector-python/en/connector-python-installation.html
こちらの記事を参考に進めていきます。

前提条件

  • Amazon linux
  • python3 version=3.7
  • MySQLがインストールされている。

コネクタ/Pythonのインストール

まず次のライブラリをインストールします。

$ pip install mysql-connector-python

次にRDSコンソール上でまずIAMロールを作成します。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.Connecting.Python.html
上記サイトを参考にします。
まずIAMデータベース認証の有効化を行います。これはRDSの「変更」から変更できます。
次にデータベースアクセス用のIAM ポリシーの作成していきます。

今後設定する

続いて

$ pip install pymysql

でpymysqlをインストールします。
次に必要な情報を設定し、RDSに設定します。

import mysql.connector

rds_host = 'RDSのエンドポイント'
db_user = 'RDSのユーザ名'
db_password = 'RDSのパスワード'
rds_port = 3306
#RDBに接続する
connect = mysql.connector.connect(user=db_user,
                                  password=db_password,
                                  host=rds_host,
                                  port=rds_port,
                                  charset='utf8')

これで接続が完了です。
ではテーブルを作成してみましょう。

with connect:
    with connect.cursor() as cur:
        cur.execute('CREATE DATABASE testdb')
        connect.commit()

MySQLでテーブルが作成されたか確認します。
以下のコマンドで接続できます。

$ mysql -h 'RDSのエンドポイント' -P 'ポート' -u 'ユーザ名' -p
Enter password:パスワードを入力

接続できたらデータベース一覧を取得します。

show databases;

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
|                    |
| testdb             |
+--------------------+

しっかりテーブルが作成されているようです。
今後はpymysqlの使い方を徐々に覚えていきます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?