2016-07-20 65 views
1

同じ地域の(2nd Gen)CloudSQLと同じプロジェクトでGAE/pythonアプリケーション(App Engine Standard Edition)を実行しています。Gae/cloudsqlエラー:ユーザー 'root' @ 'cloudsqlproxyのアクセスが拒否されました@ cloudsqlproxy

私はアプリが自動的に認可を取得、その問題を把握することはできません、次のエラー

OperationalError: (1045, "Access denied for user 'root'@'cloudsqlproxy~xx.xxx.xx.xx' (using password: NO)") 

を取得し続けるが。また、接続は、cloudsqlproxyの代わりにroot @ localhostから行うべきではありませんか? 'root' @ 'cloudsqlproxyユーザを作成する必要がありますか?

答えて

2

インスタンスのルートパスワードを設定する場合は、接続するときにそのパスワードを指定する必要があります。

第1世代のインスタンスは、空のパスワードを持つrootユーザーで箱から出てきますが、第2世代のインスタンスでは使用できません。第二世代のインスタンスの場合は、ルートパスワードを設定し、アプリでそれを使用する必要があります。

これは、弊社のドキュメントで明らかになりました。パスワードを空にしてrootユーザーを作成しないと、ネットワークACLが誤って構成されている場合にデータベースを開くことができなくなります。

+1

ありがとう、私はpasswdパラメータを追加する場合に動作します。 GAEがパスワードなしで自動的にアクセスできる文書を理解しているので、これは奇妙です。 – Nick

+0

私たちはそれらを改善するために紛らわしいかもしれないドキュメントを教えてもらえますか?接続は通常のmysql認証を経由します。デフォルトのrootアカウントを使用することも、別のrootアカウントを作成することもできますが、どちらの場合も、ユーザーの正しい資格情報を指定する必要があります。 – Vadim

+0

@ Vadim、私は、Cloudの第一世代ではパスワードがGAEを介して接続するときに必要とされなかったので、ニックが混乱していたと信じています。 IMOは、ドキュメントで明示的に言及する価値があります。 – Tzach

関連する問題