在本地获取cloud_sql_proxy的notututized错误

geo*_*ges 11 google-app-engine google-cloud-sql google-cloud-platform

我正在尝试为第二代云sql实例本地设置连接.

呼叫代理是

./cloud_sql_proxy -dir=/cloudsql -instances=status-1268:us-central1:status-dev=tcp:3306 & mysql -u status_stg --host 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

我有点不清楚如何从API部分正确设置服务帐户,所以我尝试了两个默认值,App引擎默认服务帐户和计算引擎默认服务帐户.我还创建了一个新的服务帐户.对于其中的每一个,我从管理权限部分将服务帐户ID分配为编辑者和所有者.也许还有另一种方法可以为这些帐户启用Cloud SQL Admin API?

当我的服务尝试与DB通信时从代理输出:

./cloud_sql_proxy -dir=/cloudsql -instances=status-1268:us-central1:status-   dev=tcp:3306 & mysql -u status_stg --host 127.0.0.1
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (61)
2016/04/04 11:26:58 Open socket for "status-1268:us-central1:status-dev" at     "127.0.0.1:3306"
2016/04/04 11:26:58 Socket prefix: /cloudsql
2016/04/04 11:27:10 Got a connection for "status-1268:us-central1:status-dev"
2016/04/04 11:27:11 couldn't connect to "status-1268:us-central1:status-dev": googleapi: Error 403: The client is not authorized to make this request., notAuthorized
2016/04/04 11:29:08 Got a connection for "status-1268:us-central1:status-dev"
2016/04/04 11:29:08 couldn't connect to "status-1268:us-central1:status-dev": googleapi: Error 403: The client is not authorized to make this request., notAuthorized
Run Code Online (Sandbox Code Playgroud)

关于寻找什么的想法?我想我在这里缺少一些基本配置服务帐户的东西.

(总的来说,对于我的项目,我正在运行一个node.js express app并希望将它连接到第二个gend cloud sql数据库实例,而不必用0.0.0.0公开它,因为我目前正在工作)

谢谢

Pet*_*ter 5

就我而言,问题是服务帐户没有正确的角色。您至少应该将其设置为编辑器。


Mr.*_*Pei 5

TL; DR:如果您的错误日志包含Error during createEphemeral..,请继续阅读。

适用于我的解决方案来自Github Cloud-SQL-Proxy Issue Tracker

似乎您可能在后端遇到了一个错误,该错误是在有相同名称的旧服务帐户时触发的。请按照以下步骤解决您的问题:

  1. 转到Cloud Project IAM页面(左侧菜单> IAM&Admin> IAM)
  2. 查找出现问题的机器人帐户所在的行。
  3. 在角色列上应显示“ Cloud SQL Client”。
  4. 单击它以打开下拉菜单
  5. 单击选中的“ Cloud SQL Client”角色以取消选中它。
  6. 点击上方的蓝色保存按钮。
  7. 验证该服务帐户已从IAM页面中删除。
  8. 单击同一页面上方的添加按钮。
  9. 输入服务帐户电子邮件地址,然后选择Cloud SQL Client角色
  10. 点击添加
  11. 服务帐户应再次出现在列表中。

学分奶酪,但点是我:P。希望它能解决您的问题。

  • 非常感谢!这正是我的情况。几天前我创建了 SA,该 SA 已被删除,并且我创建了同名的 SA。因此,解决方案只是从 IAM 中删除“新”SA,然后使用“Cloud SQL 客户端”再次添加它。 (2认同)

Vad*_*dim 4

请仔细检查连接字符串。听起来您的凭据是正确的,因此您的实例名称可能有错误。

我建议从实例的 Cloud Console 页面复制并粘贴“实例连接名称”:

实例详细信息