NodeJS MySQL2-我应该处理池断开连接吗?

问题描述

我在NodeJS项目中使用MysqL2模块。
我了解MysqL2模块中数据库池的概念 (https://www.npmjs.com/package/mysql2)。

在使用池之前,我使用了与MysqL2.createConnection()函数的常规连接, 但是一段时间后,我出现了'PROTOCOL_CONNECTION_LOST'错误

我的代码是:
db.js:

const MysqL = require('MysqL2');
const pool = MysqL.createPool({
    host: 'sql server',user: 'username',database: 'database',password: 'pass',port: 3306,connectionLimit: 10,queueLimit: 0
});
module.exports = pool;

我如何使用它:

const db = require('db');
db.query(...);

池实例上的query()和execute()函数自动调用池实例的release()函数,这非常好(因为在任何查询后我都不需要手动编写该命令)。

但是我需要了解:如果我那样工作(有游泳池,而不是没有游泳池),那将有一个保证人 'PROTOCOL_CONNECTION_LOST'是否会被抛出?我应该处理该问题还是由池化机制自动完成?

我问是因为我在互联网上看到了一些代码,例如,重新创建了连接。 使用pool,我需要在某个时间重新创建连接吗?

非常感谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)