【问题标题】:Ghost hosted at Google Cloud Run tries to connect to Cloud SQL MySQL and gots timeout reading communication packets托管在 Google Cloud Run 上的 Ghost 尝试连接到 Cloud SQL MySQL,但读取通信数据包时超时
【发布时间】:2021-12-25 21:00:54
【问题描述】:
  • 我将一个装有 Ghost 的 docker 容器部署到 Google Cloud Run。
  • Cloud Run 服务有一个具有 Cloud SQL 客户端角色的服务帐号。
  • 我已将 SQL 实例添加到 Cloud Run Service 的连接中。
  • Ghost 的配置文件是下面的属性
  "database": {
    "client": "mysql",
    "connection": {
      "socketPath": "/cloudsql/xxxxxxx",
      "user": "xxxxxxx",
      "password": "xxxxxxx",
      "database": "ghost1"
    }
  },
  • 我有一个 Google Cloud SQL - MySQL 实例已启动并正在运行。我可以通过公共 IP 并使用相同的凭据连接到它。

部署容器后,我在 Ghost 上看到“我们马上回来”页面。 当我查看每一侧的日志时,我看到了一些我不了解根本原因的错误。

Google Cloud SQL 的日志示例:

2021-11-14T06:40:37.183921Z 6971 [警告] 用户 'mysql.session'@'localhost' 被分配访问权限 0x8000,但只允许拥有 0x0。

2021-11-14T06:49:09.008652Z 7002 [Note] Aborted connection 7002 to db: 'ghost1' user: 'xxxxxxx' host: 'cloudsqlproxy~107.178.207.100' (读取通信数据包时出错)

2021-11-14T06:50:29.721121Z 7471 [注意] 读取通信包超时

Google Cloud Run 的日志示例

DatabaseError: Knex: 获取连接超时。游泳池可能已经满了。你错过了一个 .transacting(trx) 电话吗?在 DatabaseError.KnexMigrateError

我尝试了很多组合,例如使用 VPC 连接器和私有 IP,但我一直收到相同的网络超时错误。我怀疑 Ghost mysql 适配器库 (knex) 做错了什么,但我不确定这是否属实,以及是否有什么我可以做的。

感谢您的帮助

【问题讨论】:

  • 我已经检查过这个页面,但对我没有帮助。我不明白我应该改变什么
  • @MustafaEkim 根据this,更新您的 knex 版本可能会解决您的问题。此外,请确保在需要时关闭 SQL 连接,如 here 所述。
  • 我发现this 类似的问题解释了如何连接。请注意,同一用户做了更深入的解释here

标签: mysql google-cloud-platform google-cloud-sql google-cloud-run ghost-blog


【解决方案1】:

不管怎样,我们有an example app 可以通过 Unix 套接字连接。

只要您连接到公共 IP,您就不需要无服务器 VPC 访问连接器或私有 IP。

另外,您可能会再次检查您的套接字路径是否正确。它应该如下所示:/cloudsql/project-name:region:instance-name

这里有一个类似的问题可能会有所帮助:

How do I run Ghost with MySQL on GCP?

【讨论】:

  • 您好,谢谢,但根据 Google 文档,socketPath 是该属性的正确名称:cloud.google.com/sql/docs/mysql/connect-run
  • 抱歉。我误读并认为您使用的是 Postgres。让我再看看。
  • 更新了我的答案。希望对您有所帮助。
  • 您好,很遗憾,socketPath 属性的值似乎是正确的。我使用公共IP。我也尝试使用私有 IP。我尝试使用和不使用连接器。我总是遇到类似的错误:[读取通信数据包时出错,用户'mysql.session'@'localhost'被分配访问权限0x8000,但被允许只有0x0。]
  • 嗨@MustafaEkim,你解决了吗?我遇到了同样的错误。
猜你喜欢
  • 2019-09-17
  • 2020-05-27
  • 2021-02-12
  • 2021-07-18
  • 1970-01-01
  • 2021-05-31
  • 2020-06-15
  • 2014-09-28
  • 1970-01-01
相关资源
最近更新 更多