mysql node如何关闭连接池的链接?
现在有个项目,用mysql连接池打开了链接,在执行完sql完没有关闭,造成mysql服务中基本都是处于sleep的连接数,请问mysql node如何关闭连接池的链接?
7 回复
用的这个吗?:https://github.com/felixge/node-mysql/
文档上面有些:
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'me',
password : 'secret'
});
connection.connect();
connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) {
if (err) throw err;
console.log('The solution is: ', rows[0].solution);
});
connection.end();
@youqingkui 我是需要执行完sql后在回调完就执行connection.end()么?用的是连接池
@songqinghehe 不是很清楚,然后看到连接池是这样子关闭的:
pool.end(function (err) {
// all connections in the pool have ended
});
http://blog.fens.me/nodejs-mysql-intro/ 可以参考下这篇文章,里面有讲到,断线重连。
@youqingkui 摘抄了一段代码: pool.getConnection(function (err, conn) { if (err) console.log("POOL ==> " + err);
conn.query(selectSQL,function(err,rows){
if (err) console.log(err);
console.log("SELECT ==> ");
for (var i in rows) {
console.log(rows[i]);
}
conn.release();
});
}); 在执行sql完毕后执行conn.release()来释放的链接?
@songqinghehe 抱歉我没有试过,你可以试下。:)
@youqingkui 没事,我来试一下。