У меня есть сервер 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, но результат (я думаю) тот же.
Я понятия не имею, что вызывает «утечку соединений». Есть идеи? Спасибо