mysql使用了连接池依旧失去连接
发布于 7 年前 作者 Canappeco 3135 次浏览 来自 问答

报如下错误: events.js:160 throw er; // Unhandled ‘error’ event ^ Error: Connection lost: The server closed the connection. at Protocol.end (/usr/local/src/work/jwxg/node_modules/mysql/lib/protocol/Protocol.js:109:13) at Socket.<anonymous> (/usr/local/src/work/jwxg/node_modules/mysql/lib/Connection.js:109:28) at emitNone (events.js:91:20) at Socket.emit (events.js:185:7) at endReadableNT (_stream_readable.js:974:12) at _combinedTickCallback (internal/process/next_tick.js:80:11) at process._tickCallback (internal/process/next_tick.js:104:9)

数据库连接语句如下: var db_config = { user:“root”, password:“root”, database:“jkxt”, port:3306 };

var pool = mysql.createPool(db_config);

module.exports = { getAllCount:function (options,callback) { try { var data = {fwq_count:null,status:false}; if (!options.sql_fwq) return; pool.getConnection(function(err, connection) { if(!err){ connection.query(options.sql_fwq,function (err,rows,fields) { if(!err){ data.status=true; connection.release(); callback && callback(data); }else { console.log(“Error while performing query”); } }); } });

    }catch (err){
        console.log(err);
    }
}
...

查了许多资料,都说推荐使用连接池可以解决断线重连的问题,但我这里已经使用了连接池了,依旧会丢失连接。请问该如何解决?

第一次发帖,如有不足请多多包含。

2 回复

这个是生产环境?服务启动了多久呢?

回到顶部