Ошибка 'PROTOCOL_PACKETS_OUT_OF_ORDER ' через время после подключения к БД

После успешного подключения к базе данных

const mysql = require('mysql');

const connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: '',
    database: ***
});

connection.connect(err => {
    if (err) {
        console.error('error connecting: ' + err.stack);
        return;
    }

    console.log('connected as id ' + connection.threadId);
});

connection.query('SELECT * FROM users', function(error, results, fields) {
    if (error) throw error;
    console.log(results);
});

Через некоторое время получаю ошибки:

node:events:504
      throw er; // Unhandled 'error' event
      ^

Error: Packets out of order. Got: 0 Expected: 12
    at Parser._tryReadPacketHeader (***\node_modules\mysql\lib\protocol\Parser.js:470:15)
    at Parser.write (***\node_modules\mysql\lib\protocol\Parser.js:33:29)
    at Protocol.write (***\node_modules\mysql\lib\protocol\Protocol.js:38:16)
    at Socket.<anonymous> (***\node_modules\mysql\lib\Connection.js:88:28)
    at Socket.<anonymous> (***\node_modules\mysql\lib\Connection.js:526:10)
    at Socket.emit (node:events:526:28)
    at addChunk (node:internal/streams/readable:315:12)
    at readableAddChunk (node:internal/streams/readable:289:9)
    at Socket.Readable.push (node:internal/streams/readable:228:10)
    at TCP.onStreamRead (node:internal/stream_base_commons:190:23)
Emitted 'error' event on Connection instance at:
    at Connection._handleProtocolError (***\node_modules\mysql\lib\Connection.js:423:8)
    at Protocol.emit (node:events:526:28)
    at Protocol._delegateError (***\node_modules\mysql\lib\protocol\Protocol.js:398:10)
    at Protocol.handleParserError (***\node_modules\mysql\lib\protocol\Protocol.js:380:10)
    at Parser._tryReadPacketHeader (***\node_modules\mysql\lib\protocol\Parser.js:478:10)
    at Parser.write (***\node_modules\mysql\lib\protocol\Parser.js:33:29)
    [... lines matching original stack trace ...]
    at TCP.onStreamRead (node:internal/stream_base_commons:190:23) {
  code: 'PROTOCOL_PACKETS_OUT_OF_ORDER',
  fatal: true
}

Нашел на англоязычном stackoverflow решение, суть которого в изменении параметра max_allowed_packet=500M. В соответствии с ним изменил параметр в файле \openserver\userdata\config\MySQL-8.0-Win10_my.ini.введите сюда описание изображения

Однако мне это не помогло. Либо параметр я изменяю не в том файле, либо этот вариант мне вовсе не подходит. Как можно решить проблему?

P.S. Использую MYSQL 8.0


Ответы (1 шт):

Автор решения: Voprositel

Решил проблему, заменив .createConnection() на .createPool().

const connection = mysql.createPool({
    host: 'localhost',
    user: 'root',
    password: '',
    database: ***
});
→ Ссылка