我的node.js文件正在通过MySQL模块与MySQL数据库交互。现在,我基本上只是创建一个池
var connection = mysql.createPool(dataConnection);
然后我使用connection.query()
进行简单的查询。
有时我会说一个错误Error: Connection lost: The server closed the connection.
,据我所知,每当我调用查询方法时,都会从池中创建一个全新的连接,然后在连接完成后立即将其关闭。因此,我很困惑:由于服务器应该为此查询显式创建一个连接,因此如何关闭连接?而且,最重要的是,有没有一种方法可以真正避免这个问题(幸运的是,这种情况不会经常发生,但是仍然如此)。
感谢您的帮助!
不。
答案 0 :(得分:1)
由于您尚未共享与连接池创建有关的许多详细信息和代码,因此,我将尽最大可能回答。
var pool = mysql.createPool(dataConnection);
// check if you have configured any timeouts etc for the pool
我不确定确切的代码,但是它看起来应该像这样:
connection = pool.GetConnection();
result = connection.query();
// now instead of closing the connection, it should be returned/released back to the pool
connection.release();
How do I create a MySQL connection pool while working with NodeJS and Express?