2014-11-06 41 views
0

我正在使用nodejs和node-mysql连接到一个mysql数据库。我使用pool.query来调用数据库中的存储过程。这个特殊的需要很长时间才能运行。我收到此错误在10分钟查询后Node-mysql pool.query被断开连接

错误:连接丢失:服务器关闭连接。

等待查询完成10分钟后。服务器挂在我身上(因为连接闲置时间过长?),但我找不到任何会在10分钟后导致断开的mysql变量。我确定我刚刚得到了错误配置的内容,但无法追查到可能的情况。

+0

这是不是一个Node.js的配置,它是一个MySQL配置http://dev.mysql.com /doc/refman/5.0/en/server-system-variables.html#sysvar_wait_timeout检查SO http://stackoverflow.com/questions/26533936/node-js-mysql-connection-via-a-singleton – fmodos 2014-11-06 18:03:35

+0

wait_timeout我的MySQL服务器是默认的28800(这是8小时)是否有另一个变量,覆盖这个我失踪或什么的? – 2014-11-06 18:38:17

+0

所以这个问题似乎与使用pool.query直接相关。我改变了我的代码先执行pool.getConnection,然后在连接上运行查询而不是池,并且10分钟断开连接不会发生。我在这里提出了问题:https://github.com/felixge/node-mysql/issues/942 – 2014-11-07 17:44:22

回答

0
setInterval(function() { 
    db.query('SELECT 1'); 
}, 300000); 

EXCUTE为每5分钟的查询保持连接活,所以可能解决您的问题