关于nodejs链接mysql超时的问题
发布于 10 年前 作者 minglei1202 10426 次浏览 最后一次编辑是 8 年前

最近线上的进程总是自己挂掉,查看nohup.out文件,发现是mysql链接久了,超时自动关闭链接了,网上搜索了一些解决办法,可依然没有解决。求大神帮忙,谢啦!

<code>Error: Connection lost: The server closed the connection. </code>

下面是我的代码:
<pre>var mq = require(“mysql”); global.mc = mq.createConnection({ host:“192.168.1.113”, user: “root”, password: “root” }); var connectionState = false; function connectMySql(){ mc.connect(function(err){ if(err){ console.log(‘SQL connect err:’+err); connectionState = false; } else{ console.log(‘SQL connect successful!’); connectionState = true; } }); mc.on(‘close’, function (err) { logger.error(‘mysqldb conn close’); connectionState = false; }); mc.on(‘error’, function (err) { logger.error('mysqldb error: ’ + err); connectionState = false; }); } connectMySql(); var dbConnChecker = setInterval(function(){ if(!connectionState){ connectMySql(); } },500);</pre>

5 回复

用连接池来管理数据库连接吧 https://github.com/coopernurse/node-pool

你用的是这个吧,https://github.com/felixge/node-mysql 如果你用的是这个你可以看下他的例子, 不过我也是推荐你是用连接池。他的例子都还是比较详细的。

谢啦!

刚看了一下连接池的使用方法,感觉不错,就用它了!非常感谢

回到顶部