首页 > 解决方案 > mysql nodejs连接太多

问题描述

我有一个 API 服务器,它对 mysql 数据库运行不同的 API 调用:这是完全处理连接和查询的文件:

const mysql = require('mysql')

const pool = mysql.createPool({
  host: sqlhost,
  port: sqlport,
  user: sqluser,
  password: sqlpsw,
  database: sqldb,
  charset: 'utf8mb4',
  connectionLimit: 10
})

module.exports = {
  get: function (sqlQuery, type) {
    return new Promise((resolve, reject) => {
      pool.getConnection((err, connection) => {
        if (err) reject(new Error(505))
        else {
          connection.query(sqlQuery, function (err, results) {
            connection.release()
            if (err !== null) reject(new Error(503))
            else resolve(results)
          })
        }
      })
    })
  }
}

一段时间后,我得到了Error: ER_CON_COUNT_ERROR: Too many connections. 我知道我可能使用了 pool.query 而不是流 pool.getConnection --> connection.query --> connection.release 但结果(我猜)是一样的。

我不知道是什么导致了“连接泄漏”。任何想法?谢谢

标签: mysqlnode.jsruntime-errordatabase-connection

解决方案


推荐阅读