node mysql 释放_node mysql2/promise的连接池如何释放连接?

使用mysql2/promise的连接池因为连接没有释放,最后mysql会报Can't create more than max_prepared_stmt_count statements错误,那么它如何释放连接呢?

我的代码是这样的

1.创建连接

const mysql = require('mysql2/promise')

var connection = mysql.createPool(mysqlConfig)

global.connection = connection

2.把链接挂载到ctx上

app.use(async (ctx, next) => {

ctx.mysqlConection = global.connection

// console.log(global.connection, '99999999999')

ctx.controller = controller

ctx.service = service

ctx.are = are

ctx.iz = iz

ctx.rules = rules.rules

ctx.model = mongodb.mongoose.models;

await next()

ctx.mysqlConection.end()

})```

3. 在controller就可以使用连接

findUv: async function (ctx) {

let condition = ctx.request.body

let sql = `SELECT count AS uv FROM gugudai_count ORDER BY id ASC LIMIT 1`

console.log('******************2',ctx.mysqlConection.getConnection)

const [rows, fields] = await ctx.mysqlConection.execute(sql)

// let conne=await ctx.mysqlConection.getConnection;

// console.log(conne)

return { rows }

},

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值