Nodejs mysql – PROTOCOL_SEQUENCE_TIMEOUT – 如何正确closures连接

我正在尝试使用felixge中的nodejs-mysql模块。 我需要做的是做一个一个查询,得到结果,并结束连接。

正如你可以看到,我设置了连接,查询和结果我试图结束连接。 现在的问题是,虽然我发送了一个ComQuitPacket它不能正常断开,并等待数据库连接超时。 顺便说一句,数据收到正确和罚款。

我在数据库上运行SHOW FULL PROCESSLIST,但在接收数据后没有显示连接。

我是否以错误的方式结束了连接? 我也尝试删除callback,而不是结束响应,但没有。

有github https://github.com/felixge/node-mysql/issues/1223现在closures的票

顺便说一下,我使用Heroku的ClearDB MySQL :: Database! 另外我正在使用节点v5.4.0

var connection = mysql.createConnection({ debug: true, host: enhancedWidgetModel.dataSource.mysql.host, user: enhancedWidgetModel.dataSource.mysql.username, password: enhancedWidgetModel.dataSource.mysql.password, database: enhancedWidgetModel.dataSource.mysql.database }) connection.query(enhancedWidgetModel.query, function (err, rows, fields) { connection.end(function (err) { if (err) { console.log(err) } else { console.log('ended') } }) if (err) { console.log(err) callback({ data: null, msg: 'error', code: 'error' }) } else if (rows) { callback({ data: rows, msg: 'acknowledged', code: 'success' }) } }) <-- EofPacket EofPacket { fieldCount: 254, warningCount: 0, serverStatus: 34, protocol41: true } --> ComQuitPacket ComQuitPacket { command: 1 } { [Error: Quit inactivity timeout] code: 'PROTOCOL_SEQUENCE_TIMEOUT', fatal: true, timeout: 30000 } 

与github回购引发了一个问题: https : //github.com/felixge/node-mysql/issues/1334