Ошибка закрытия соединения Node Js MySQL
Код следующий:
const mysql = require('mysql2')
const bd = mysql.createPool({
connectionLimit: 1,
host: "localhost",
user: "root",
database: "usersdb",
password: "j1234"
}).promise()
bd.execute(`UPDATE users SET ${resultFight} = ${resultFight} + 1, mastery = mastery + ${masteryQT} where nickname = '${users[session].user}'`)
.then(result => {
console.log('result1', result[0])
return bd.execute(`UPDATE ${users[session].user} SET ${resultFight} = ${resultFight} + 1 where pokemon = '${pokemons[session].pokemon.Вид}'`)
.then(result2 => console.log('resultIn', result2[0]))
.catch(err => {
console.log('err', err)
saveErrLog(err, date, 'UPDATE userName resultFight', 'errorLogDB')
})
})
.then(() => {
return bd.execute(`UPDATE ${nameTable} SET ${resultFight} = ${resultFight} + 1 where pokemon = '${pokemons[session].enemy.Вид}:'`)
.then(result2 => console.log('resultIn2', result2[0]))
.catch(err => {
console.log('err', err)
saveErrLog(err, date, 'UPDATE userName_vs resultFight', 'errorLogDB')
})
})
.then(() => {
// bd.end() // тест
return insertStatsFight(bd, session, nameTable, date, resultFight);
})
.catch(err => {
console.log('err', err)
saveErrLog(err, date, 'UPDATE users mastery and resultFight', 'errorLogDB')
})
.finally(() => {
bd.end()
console.log('Пул подключений закрыт!')
})
На локальном серверу работает без проблем, а на хостинге выдаёт ошибку сразу после первого запроса к базе данных: "UPDATE userName resultFight",
Error: Can't add new command when connection is in closed state at PromisePool.execute (/home/f0926444/domains/pmvanilla.ru/public_html/myapp/node_modules/mysql2/lib/promise/pool.js:54:22) at /home/f0926444/domains/pmvanilla.ru/public_html/myapp/app.js:359:27 at processTicksAndRejections (internal/process/task_queues.js:95:5)
Подскажите плз в чём дело...
Ответы (1 шт):
Автор решения: Tosha Tatosha
→ Ссылка
Так если вы его на хостинге запускаете , может стоить поменять это значение ? host: "localhost",