GAE/GO CloudSQL接続
ローカル環境では普通のmysqlと同様でしたが、
GAEから繋ごうとするとハマりました。
準備
CloudSQLのインスタンスを作成し、
アクセス制御 > 承認済みのAppEngineアプリケーションを追加します。
最初にアジアでインスタンスを作成するとAppEngineのアプリケーションと地域が違うようで設定できませんでした。
しょうがないので米国で作成。
go言語から接続
結論から行くと
https://github.com/go-sql-driver/mysql
のリファレンス通りで接続することができました。
|
|
ハマったところ
コンソールの中にrootのパスワードを設定する箇所があり、
リモートで接続する際に設定していたため、必要だと思い込んでいました。
調べると接続できないと言っている人がいて必要そうに見えます。
http://stackoverflow.com/questions/21368363/how-to-connect-to-google-cloud-sql-with-go-sql-driver-mysql-on-app-engine
|
|
で見てみるとパスワードが空になっていたため、パスワードは設定なしで繋がりました。
DBの操作
簡単なクエリはAPIコンソール(旧管理画面)の「SQL Prompt」というタブから実行できます。