【问题标题】:Can't connect to Google Cloud 2nd Gen from GAE无法从 GAE 连接到 Google Cloud 2nd Gen
【发布时间】:2016-07-23 18:54:20
【问题描述】:

我将 Cloud SQL V1 数据库备份到存储桶并恢复到新的第二代实例。通过控制台连接工作正常。我可以选择、查看 procs 等。从我的 Java GAE 应用程序连接到它不会。 GAE 应用和 Cloud SQL DB 在同一个项目中。

我在日志中得到这些值:

GAE 日志:

java.sql.SQLInvalidAuthorizationSpecException: Not authorized to access instance: xxxx

SQL 日志:

[Warning] User 'root'@'%' was assigned access 0x1fffffff but was allowed to have only 0x1fff7dff.

有什么建议吗?

【问题讨论】:

  • 请显示您用于连接实例的连接字符串。
  • 您能否转到“IAM 和管理”部分并检查您是否仍有“App Engine 默认服务帐户”?
  • 我愿意,它被标记为编辑器。在 Cloud SQL 的 App Engine Authorization 下,它显示“此项目中的应用程序:所有已授权”。并且该应用与 Cloud SQL DB 位于同一项目中。
  • 瓦迪姆,我还有什么需要注意的吗?
  • 嘿,我刚刚注意到您使用的是 jdbc:google:rdbms:// 前缀,它应该是 jdbc:google:mysql://。

标签: google-app-engine google-cloud-sql


【解决方案1】:

确保您的 JDBC URL 使用 jdbc:google:mysql:// 前缀,而不是旧的/已弃用的 jdbc:google:rdbms:// 前缀。

虽然jdbc:google:rdbms:// 继续适用于第一代实例,但它在连接到第二代实例时将不起作用。 jdbc:google:mysql:// 对两者都有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-12
    • 2017-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-25
    • 2018-11-03
    相关资源
    最近更新 更多