【问题标题】:Error: function crashed. Details: connect ECONNREFUSED /cloudsql/<instance Connection Name>>错误:函数崩溃。详细信息:connect ECONNREFUSED /cloudsql/<instance Connection Name>>
【发布时间】:2018-12-11 16:53:52
【问题描述】:

面对这样的问题,我无法将 Cloud Functions 连接到 Cloud SQL 数据库

我用来连接数据库的代码:

var mysql = require('mysql');
exports.mysql = function handler(req, res) {
    var c = mysql.createConnection({
        socketPath: '/cloudsql/' + 'instance Connection Name',
        user: 'root',
        password: 'lns12345',
        database: 'Sample'
    });
    c.connect();
    c.query('SELECT * from user', req.body.user, function(e, results) {
        //made reply here
        if (results) {
            console.log('Database succeed')
        } else {
            console.log('new error created')
        }
        console.log('my E result is :', e)
        console.log('My results is :', results)
    });

};

我收到的错误:

Error: function crashed. Details:
connect ECONNREFUSED /cloudsql/'instance Connection Name'

我在 Cloud Functions 中得到的详细日志:

 Error: connect ECONNREFUSED /cloudsql/'instance connection Name' at
 Object.exports._errnoException (util.js:1020:11) at
 exports._exceptionWithHostPort (util.js:1043:20) at
 PipeConnectWrap.afterConnect [as oncomplete] (net.js:1105:14)
 -------------------- at Protocol._enqueue (/user_code/node_modules/mysql/lib/protocol/Protocol.js:145:48) at
 Protocol.handshake
 (/user_code/node_modules/mysql/lib/protocol/Protocol.js:52:23) at
 Connection.connect
 (/user_code/node_modules/mysql/lib/Connection.js:130:18) at handler
 (/user_code/index.js:20:4) at /var/tmp/worker/worker.js:684:7 at
 /var/tmp/worker/worker.js:668:9 at _combinedTickCallback
 (internal/process/next_tick.js:73:7) at process._tickDomainCallback
 (internal/process/next_tick.js:128:9)

【问题讨论】:

  • 您的程序在哪个 javascript 行崩溃了?如果在 c.connect() 处,则不必将代码放在后面,因为它会污染您的问题。
  • 什么代表“实例连接名称”?它是使用的真实姓名还是仅用于问题的字符串?
  • 您能否格式化 StackTrace 以便其他人更容易阅读您的问题?您已经格式化了源代码,所以我建议您使用相同的技术格式化 StackTrace :-)
  • 我认为,如果您进行所有这些更改,另一个“纠正者”会接受您的问题!
  • > 实际上,当通过 socketpath 使用 cloudfunctions 连接 Cloudsql 时,它无法连接

标签: mysql node.js google-cloud-platform


【解决方案1】:

'instance Connection Name' 占位符替换为实际的连接名称

【讨论】:

    猜你喜欢
    • 2016-03-19
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    • 2020-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-10
    相关资源
    最近更新 更多