mysql nodejs слишком много соединений - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть сервер API, который выполняет различные вызовы API для базы данных mysql: это файл, который полностью обрабатывает соединения и запросы:

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, но результат (я думаю) тот же.

Я понятия не имею, что вызывает «утечку соединений». Есть идеи? Спасибо

...