我正在尝试使用felixge中的nodejs-mysql模块。我需要做的是进行一次性查询,获得结果并结束连接。
正如您所见,我设置了连接,查询和结果,我尝试结束连接。现在问题是虽然我发送了一个ComQuitPacket它没有正确断开连接并等待数据库连接超时。顺便说一下,数据是正确接收的。
我在数据库上运行SHOW FULL PROCESSLIST但是在收到数据后没有显示连接。
我是以错误的方式结束连接吗?我也尝试删除回调而不是结束响应,但没有。
现在已经在github https://github.com/felixge/node-mysql/issues/1223
中关闭了票证顺便说一下,我正在使用Heroku的ClearDB MySQL :: Database! 我也在使用node 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 repo:https://github.com/felixge/node-mysql/issues/1334
的问题