前準備
まずは、Cloud SQLにインスタンスを作成します。
Google Cloudのナビゲーションメニューから「SQL」を選択し、画面上の「インスタンスを作成」をクリックします。今回はデータベースエンジンとして「MySQL」を選択します。インスタンスID、パスワードを入力、その他リージョン等を選択し、「インスタンスを作成」をクリックするとインスタンスを作成できました。
続いて、外部からこのSQLに接続できるように設定を行います。作成したSQLを開き、SQLナビゲーションメニューの「接続」を選択し、パブリックIPにチェックが入っていることを確認し、「承認済みネットワーク」にIPアドレスを追加します。
SQLへの接続
ここからは、MySQL Workbenchを利用して、今作成したSQLに接続します。
MySQL Workbenchを開いて、MySQL Connectionsの右の+をクリックします。Connection Nameに適当な名前を、Hostnameに先ほど作成したSQLのパブリックIPアドレスを、Passwordに先ほど入力したrootのパスワードを入力します。
作成したSQLを開くと、SQLに接続でき、クエリからデータベースやテーブルを作成することができます。
最後に作成したテーブルにpythonから接続を行います。
import MySQLdb
conn = MySQLdb.connect(
user='root',
passwd='password',
host='IP_address',
db='db_name'
)
cur = conn.cursor()
sql = "select * from table_name"
cur.execute(sql)
rows = cur.fetchall()
上記のコードのIP_addressに先ほど作成したSQLのパブリックIPアドレス、db_nameにデータベース名、table_nameにテーブル名を入力することで、SQLに接続することができます。ちなみに列名は、以下のような形式で取り出すことができます。
cur.execute("DESC table_name")