「接続できない」には VPC の設定が〜〜とかいろいろあると思うんだけど、今回はこのエラーメッセージに対する解決
$ mysql -u root -p --host 127.0.0.1 --port 3306 Enter password: ERROR 1045 (28000): Access denied for user 'root'@'cloudsqlproxy~10.0.0.2' (using password: YES)
結論、パスワードに特殊文字がないか確認しよう。入ってたらパスワードを設定しなおそう。
Ensure that the database password does not contain any of the following special characters: [] {}() , ; ? * ! @.
Help And Training Community より
前提
このガイドと同じ構成
Quickstart: Connect to a Cloud SQL for MySQL instance with private IP | Google Cloud
つまり、
- private IP の Cloud SQL
- 同じ VPC network 内に GCE instance を立てた
- ssh terminal #1 に Cloud SQL Auth Proxy
- ssh terminal #2 から
mysql
コマンドを叩こうとしている (で、 Access denied になる)
お気持ち
ググっても SSL cert の話とかネットワーク周りで、しかしパスワードは 100% あってるから盲点だった。Salesforce ありがとう、というかなんで Salesforce?