0
我已经按照指令:https://cloud.google.com/sql/docs/external从外部应用程序连接到谷歌云SQL
STEP1. $ chmod +x ~/GCP/cloud_sql_proxy
STEP2. $ gcloud auth application-default login
STEP3. $ ./cloud_sql_proxy -instances=[INSTANCE_CONNECTION_NAME]=tcp:3306 -credential_file=[PATH_TO_KEY_FILE]
我2016/12/15 19:55:44 Ready for new connections
STEP4. $ mysql -u root -h 127.0.0.1 -p
但我得到了在码头下面的错误;
2016/12/15 23:51:20 New connection for "[INSTANCE_CONNECTION_NAME]"
2016/12/15 23:51:20 Thottling refreshCfg([INSTANCE_CONNECTION_NAME]): it was only
called 23.918136971s ago
2016/12/15 22:08:26 couldn't connect to "[INSTANCE_CONNECTION_NAME]":
Post https://www.googleapis.com/sql/v1beta4/projects/{PROJECT_ID]/
instances/[INSTANCE_NAME]/createEphemeral?alt=json: private key should be a PEM or
plain PKSC1 or PKCS8; parse error: asn1: syntax error: sequence truncated
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial
communication packet', system error: 0
我被困在这里。 感谢您的帮助。
凭证文件来自哪里?您是否创建了一个编辑角色的服务帐户并下载私钥?根据https://cloud.google.com/sql/docs/sql-proxy#create-service-account。 – jarmod
@jarmod我从STEP#2获得了凭证文件。 保存到文件的凭证[/Users/******/.config/gcloud/application_default_credentials.json] 这些凭证将被请求 应用程序默认凭证的任何库使用。 – Danny
@jarmod它与创建服务帐户一起工作。谢谢。 – Danny