项目场景:
node+pm2 长时间连接mysql数据库报错问题描述:
{
[Error: Cannot enqueue Query after fatal error.]
code: 'PROTOCOL_ENQUEUE_AFTER_FATAL_ERROR',
fatal: false
}
原因分析:
连接池连接mysql这种连接方式和直接连接方式代码相差不大,只有createPool和createConnection不一样,但是性能却有很大的差别,使用连接池连接,可以长时间连接,不会出现超过某一个时间不操作数据库,就会自动断开连接的情况,也不会说是数据请求超时,出现timeout的错误等等。连接池连接方式如下:
解决方案:
const conn = mysql.createPool(mysql_config);