【问题标题】:Using Google CloudSQL, getting "connect ECONNREFUSED 127.0.0.1:3306"使用 Google CloudSQL,获取“连接 ECONNREFUSED 127.0.0.1:3306”
【发布时间】:2017-02-15 16:21:33
【问题描述】:

我正在努力学习 Google 的云平台。他们有一个 CloudSQL 产品,我正在通过 this NodeJS tutorial 学习。一切都很好,直到我部署到他们的appspot server,此时我收到以下错误:

connect ECONNREFUSED 127.0.0.1:3306

我查看了整个 NodeJS 项目,但没有看到其中的任何内容,也没有看到任何引用 localhost 或 127.0.0.1 的 Cloud Console。到目前为止,谷歌搜索错误并没有帮助。有任何想法吗?

【问题讨论】:

  • config.jsonapp.yaml 有什么?

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


【解决方案1】:

我在服务器上运行时无法修复此问题,但使用此文件我能够从本地和生产环境中读取/写入,现在我在自己的应用程序中使用此连接字符串

https://cloud.google.com/appengine/docs/flexible/nodejs/using-cloud-sql https://github.com/GoogleCloudPlatform/nodejs-docs-samples/tree/master/appengine/cloudsql

【讨论】:

    【解决方案2】:

    我在部署 nodejs 示例应用 2-structured-data 时遇到了类似的问题

    发生错误的原因是NODE_ENV环境变量没有传递给check if node should use a socket for connecting to mysql使用的配置文件

    您可以通过在 config.js 文件中添加“NODE_ENV”来修复它:

    .env([
     ...
    'NODE_ENV'])
    

    【讨论】: