mysql 连接卡死的问题

一、发现问题

最近在做的事情使用 Node 的 mysql 模块来连接 mysql,跑了有一段时间了,最近捣鼓得比较少,突然收到反馈,应用登录不上了!!!

二、定位问题

查日志,无果...
Debug 模式启动,问题消失...
隔天登录,问题重现...

这里需要检讨下了,全链路日志缺失啊!!!

于是在问题重现的情况下,保持后台不动,到前端 Debug,发现接口报了一个 sql 异常,这才找寻到蛛丝马迹,定是数据库这块有问题了...

然而重启即好,应该不是具体的语句出了岔子,考虑到一直只在用一个连接

const connection = mysql.createConnection(config);
connection.connect();

从未释放,不会是连接使用一段时间卡死了吧,随便谷了一个哥,还真特么的有这一回事哈。于是整个连接池,问题立解:

conn = mysql.createPool(config);
conn.query()

再次检讨,想当年用 hibernate 连数据库溜得飞起,连接池这么基础的概念,在用 node 之后,竟无视了...

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容