我一直在关注有关如何创建 MySQL 实例并通过 google 控制台连接到它的教程。输入此命令时,我收到错误:(gcloud.beta.sql.connect) 无法启动 Cloud SQL 代理:
gcloud beta sql connect cloud-sql-demo --user=root
我的实例正在运行,这是完整的错误消息:
Starting Cloud SQL Proxy: [/usr/lib/google-cloud-sdk/bin/cloud_sql_proxy -instances learninggcp-281321:us-central1:cloud-sql-demo=tcp:9470 -credential_file /tmp/tmp.wDzxY0bzV6/legacy_credentials/qwthompson1@g
mail.com/adc.json]]
2020/06/24 16:57:54 Rlimits for file descriptors set to {&{8500 1048576}}
2020/06/24 16:57:54 invalid json file "/tmp/tmp.wDzxY0bzV6/legacy_credentials/[email protected]/adc.json": open /tmp/tmp.wDzxY0bzV6/legacy_credentials/[email protected]/adc.json: no such file or direc
tory
ERROR: (gcloud.beta.sql.connect) Failed to start the Cloud SQL Proxy.
听起来可能存在凭据问题。您是否通过
gcloud init
登录到了正确的项目/配置?
如果您本地有服务帐户密钥文件,您可以尝试其他方法,将环境变量
GOOGLE_APPLICATION_CREDENTIALS
设置为服务帐户密钥文件的路径。例如export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service/account/file.json
。确保服务帐户具有连接到 Cloud SQL 实例的适当权限。
我遇到了同样的问题。结果您需要再次登录,因为登录后凭据文件丢失了。
运行:
gcloud auth application-default login
登录并获取应用程序默认凭据(ADC)。
该命令将说明不需要登录。无论如何都要做:)
运行
gcloud beta sql connect ...
之后对我有用并提示输入用户密码。
更多信息请访问 https://cloud.google.com/docs/authentication/provide-credentials-adc
首先验证您的帐户。会起作用的。
gcloud 身份验证登录