1) Поправьте меня, если я ошибаюсь, но я не думаю, что есть метод автоматического подключения при отключении при использовании запроса пула. Это хороший дизайн кода, позволяющий нам узнать об ошибке и решить, что делать при отключении.
2) Мы можем использовать pool.getConnection((err, con) => {})
Вот код, который я использую для проверки соединения перед выполнением запроса. Надеюсь, это поможет.
connect: function ()
{
return new Promise((resolve, reject) => {
let pool = Mysql.createPool({
connectionLimit: config.mysql.connectionLimit,
host: config.mysql.host,
user: config.mysql.user,
password: config.mysql.password,
database: config.mysql.database
});
pool.getConnection((err, con) =>
{
try
{
if (con)
{
con.release();
resolve({"status":"success", "data":"MySQL connected.", "con":pool});
}
}
catch (err)
{
reject({"status":"failed", "error":`MySQL error. ${err}`});
}
resolve({"status":"failed", "error":"Error connecting to MySQL."});
});
});
}