Google App Engine 上的 Strapi + Cloud SQL for MySQL - 服务器无法正常启动错误:getaddrinfo EAI_AGAIN

Dav*_*yes 6 mysql google-app-engine google-cloud-sql strapi

我正在尝试将我的 Strapi 应用程序启动到 Google App Engine,我确实部署成功,但我不断在日志中收到此错误:

服务器无法正常启动错误:getaddrinfo EAI_AGAIN /cloudsql/connectionName

错误日志:

错误日志

我按照部署说明进行操作,但可能缺少某些内容,例如我的应用程序无法与我的 Cloud SQL for MySQL 数据库建立连接。

这是我的 .yaml 文件:

runtime: nodejs12

instance_class: F2

env_variables:
  HOST: '0.0.0.0'
  NODE_ENV: 'production'
  DATABASE_NAME: 'test'
  DATABASE_USERNAME: '***'
  DATABASE_PASSWORD: '***'
  INSTANCE_CONNECTION_NAME: '***'

beta_settings:
  cloud_sql_instances: '***'
Run Code Online (Sandbox Code Playgroud)

module.exports = ({ env }) => ({
  defaultConnection: 'default',
  connections: {
    default: {
      connector: 'bookshelf',
      settings: {
        client: 'mysql',
        host: `/cloudsql/${env('INSTANCE_CONNECTION_NAME')}`,
        database: env('DATABASE_NAME'),
        username: env('DATABASE_USERNAME'),
        password: env('DATABASE_PASSWORD'),
      },
    },
  },
});
Run Code Online (Sandbox Code Playgroud)

如果有人知道这一点并可以帮助我,我将不胜感激。

Don*_*ndi 7

在查看了他们的官方文档和 GitHub问题后,发现在 Cloud SQL 上通过 Unix Socket 连接时可以正常工作的方法是更改​​为hostsocketPath这与当前编写的内容相反socket(不知道为什么不行)。我测试过,它可以在 v3.6.1 上运行。

遵循他们的部署指南后,在您的项目上安装 mysql 驱动程序:

yarn add mysql
Run Code Online (Sandbox Code Playgroud)

然后,更改hostsocketPath

然后,要管理您的项目,请转至您的 GAE URL 的 /admin 管理面板。