【发布时间】:2017-06-17 16:34:53
【问题描述】:
我正在尝试在 Google App Engine 上部署我的 Node.js 应用程序并且部署良好,但由于某种原因它无法连接到 Google Cloud SQL。这是它抛出的内容:
Error: connect ENOENT /cloudsql/my-project-id:asia-east1:my-sql-instance
这是我配置连接的方式:
if (process.env.INSTANCE_CONNECTION_NAME) {
exports.mysqlConfig = {
user: process.env.GCLOUD_SQL_USERNAME,
password: process.env.GCLOUD_SQL_PASSWORD,
socketPath: '/cloudsql/' + process.env.INSTANCE_CONNECTION_NAME
}
} else {
// Use settings for localhost
}
我正在使用node-mysql 模块连接到数据库。
App Engine 和 Cloud SQL 已经在同一个项目中。 我的理论是 App Engine 和 Cloud SQL 必须在同一个项目中和同一个区域,但我不确定。
【问题讨论】:
-
我不知道刚刚发生了什么,但事情会自行解决。我想这与 Google App Engine 的 Node.js 支持仍处于测试阶段有关。
-
在一些调试或类似的过程中,您有没有机会从您的
socketPath中删除领先的/? -
我在这里面临同样的问题。它起作用了,现在突然不再起作用了。当我将应用程序引擎的实例 ip 添加到允许的云 sql 网络时,它可以工作。 App Engine 和 Cloud SQL 在同一个项目中。
-
@jimmy,嘿,你是怎么做到的?谢谢!
-
@LeDinhNhatKhanh 也许这有帮助:*.com/questions/45709319/…
标签: mysql node.js google-app-engine