Ошибка “PROTOCOL_CONNECTION_LOST”

145
25 мая 2019, 18:40

Связка NODEJS+MySQL. Подцепляюсь к базе, создаю временную таблицу, заливаю в нее данные. Какое то время спустя коннекция падает. Ошибка "PROTOCOL_CONNECTION_LOST". Вешаю обработчик на ошибку:

connection.query(sql, function (err, rows, fields) {
    if (err) {
    console.log('db error query_1', err);
    if (err.code === 'PROTOCOL_CONNECTION_LOST') {
        db.connect();
    } else {
        throw err;
    }
};

Но пересоздание коннекции приводит к уничтожению временной таблицы. Есть ли решение проблемы?

Answer 1

Автор либы mysql явно рекомендует не использовать долгоживущие коннекты. Вместо этого лучше использовать пул коннектов https://github.com/mysqljs/mysql#pooling-connections.

Мне кажется, у вас архитектурная проблема скорее всего. Если вам нужны таблицы, которые живут долго и между коннектами, не используйте временные таблицы.

READ ALSO
Что делать - вылетает из MySQL Workbench?

Что делать - вылетает из MySQL Workbench?

При запуске базы данных, в программе MySQL Workbench - запускается программа, и потом сразу же закрываетсяПодскажите пожалуйста, кто сталкивался...

149
Убрать тег, оставить его содержимое (unwrap)

Убрать тег, оставить его содержимое (unwrap)

Код на Ruby использует Nokogiri, обрабатывает HTMLНужно удалить лишние <div class="section">, оставив их содержимое

141
css calc() не работает [закрыт]

css calc() не работает [закрыт]

Подскажите где ошибка в выражении

139