node.js подключение к mysql подключение зависает более чем на 30 секунд

#mysql #node.js

#mysql #node.js

Вопрос:

почему некоторые запросы достигают тайм-аута при попытке подключения? это происходит не всегда, и я не смог его восстановить. когда происходит тайм-аут, код выполняет протоколирование step2, а не step3.

 var con = mysql.createConnection({
    host: "xxxx",
    user: "xxx",
    password: "xxx",
    database: "xxx",
    charset: 'utf8mb4'
});

console.log("step2");

con.connect(function (err) {
                    console.log("step3");
                    if (err) {
                        console.log("step4");
                    }
                    else {
                        console.log("step5");
                    }
                });
  

Комментарии:

1. у вас заканчиваются соединения? Есть ли на сервере MySQL что-нибудь, кроме журнала ошибок?

2. как я могу проверить журнал ошибок сервера mysql? если вы ссылаетесь на err переменную, ничего внутри обратного вызова connect не выполняется, поэтому я не знаю

3. Вы должны быть на сервере, чтобы получить доступ к журналу ошибок сервера. Он недоступен через API-интерфейсы подключения nodejs. Существует разница в значениях в зависимости от ОС сервера MySQL, дистрибутива, версии, источника пакета, настройки сервера, поэтому я не собираюсь гадать. Это упражнение для вас, чтобы найти или предоставить предыдущие детали и исключить возможности.