问题描述
我在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 (将#修改为@)