mysql econnreset_node使用knex连接mysql,每个小时大概率出现:read ECONNRESET?

我有一个node程序每小时查询一次本地数据库马上再查询一次内网数据库,仅在查询内网数据库时出现read ECONNRESET。

使用npm库knex+mysql2连接数据库,knex配置如下(有使用连接池)

require('knex')({

client: 'mysql2',

connection: {

host : '127.0.0.1',

user : 'your_database_user',

password : 'your_database_password',

database : 'myapp_test'

}

pool: {

min: 5,

max: 1000

},

acquireConnectionTimeout: 60000,

asyncStackTraces: false, // 捕获堆栈跟踪,正式环境不要开启,会消耗性能

migrations: {

tableName: 'knex_migrations' // 记录版本控制的表用哪个

},

log: {

warn (message) {

console.log('[knex warn]', message)

},

error (message) {

console.log('[knex error]', message)

},

deprecate (message) {

console.log('[knex deprecate]', message)

},

debug (message) {

console.log('[knex debug]', message)

}

}

})

mysql的show variables like 'wait_timeout';是

e2f735c6e4b7da4cc6c354d7928af4e2.png

即8小时。

根据这篇回答:https://stackoverflow.com/a/2...

应该不会出现read ECONNRESET才对啊,mysql关闭无用连接时间是8小时,而我每小时查询一次数据库,都会大概率出现这问题,何况我还用了连接池,knex应该是用了mysql2的连接池吧?mysql2的连接池不是会自动维护这些连接吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值