【问题标题】:Connect to GCloud SQL 2 from Node JS App Engine server.js file (standard env)从 Node JS App Engine server.js 文件(标准环境)连接到 GCloud SQL 2
【发布时间】:2019-01-01 17:48:23
【问题描述】:

我在 App Engine 中构建了一个 Node.JS 项目(部署在 www.mischief.app),允许用户提交他们的姓名和电子邮件以接收产品更新。

我项目的 Node / Express / Angular 端完美运行,并将用户提交作为对象传递给 server.js。但是,当我的 server.js 文件尝试连接到 Google Cloud SQL for MySQL 以将对象写入 MySQL 用户表时,我收到连接错误:

'错误:连接 ENOENT /cloudsql/mischief-cloud:us-west2:mischief-db。 ...'

我已尽我所能遵循所有文档(文档herehere),但我不知道下一步该做什么。

如何在 App Engine 上将 MySQL 连接到 Node?

我做错了什么?

这是我的 server.js 文件截图的链接:https://imgur.com/a/LKuTdFi

如果有帮助,很乐意提供更多信息!

【问题讨论】:

  • 您是否尝试过明确设置config.socketPath?例如socketPath: '/cloudsql/<instance details>' 无论如何,我觉得问题是套接字连接格式错误?你能发布完整的错误输出吗?
  • 你让它工作了吗?如果我使用 socketPath,我会被拒绝连接
  • @RiteshKarwa 是的,下面的答案是正确的。我需要在我的 socketPath 变量中添加“/cloudsql/”。如果您仍然遇到问题,我建议您创建一个新问题,因为您可能会遇到不同的问题。

标签: node.js sockets google-app-engine google-cloud-sql gcloud


【解决方案1】:

在你的 server.js 类中,在第 39 行你缺少 /cloudsql/ ,它应该看起来像:

socketPath:'/cloudsql/YOUR-INSTANCE-CONN-NAME'

您可以查看正确的配置here,第 40 行,这是您提到的官方 Cloud SQL - NodeJs tutorial 的一部分。

【讨论】:

    猜你喜欢
    • 2021-04-08
    • 1970-01-01
    • 2023-03-11
    • 2018-10-07
    • 2020-08-10
    • 2018-08-09
    • 2016-09-26
    • 1970-01-01
    • 2018-03-12
    相关资源
    最近更新 更多