Ошибка: Тайм-аут неактивности рукопожатия в MysQL-модуле Node.js

6

Я использую node-mysql и большинство запросов. За работой. некоторые запросы не работают. Я пробовал каждую версию Node (от 0.5...) до (5.6.0), я также пробовал (4.0) и (4.1), ничего не помогает.

Я попытался изменить сам и не работал. Я попытался изменить файл sequence на: this._idleTimeout = -1; и не помог.

Я прочитал вопросы и GitHub, и ничего не помогло.

Я могу попытаться исправить это самостоятельно, но мне нужна дополнительная информация. Где тайм-аут, почему? когда? Что это за сообщение? Где время ожидания?

MYSQL_ERROR     { [Error: Handshake inactivity timeout]  
code: 'PROTOCOL_SEQUENCE_TIMEOUT',   fatal: true,   
timeout: 10000 }  

Я наберу его примерно на 100-150 очков и вознагражу лучший ответ, и я могу сделать (нужно подождать 2 дня). Но даже если вы ответите раньше, вы получите приз.

  • 2
    Я думаю, что вы выполняете запрос несколько раз вместо использования одного запроса, потому что время выполнения зависит от количества выполненных запросов. Если вы запускаете один запрос, то выполнение будет быстрым, и эта ошибка не возникнет.
Теги:
node-mysql

1 ответ

1

Хорошо, тайм-аут происходит из строки протокола Protocol.js: 162. Если вы выберете node -mysql, вы увидите, что это переменная "тайм-аут" для запросов. Если вы установите тайм-аут на что-то намного превышающее 10000, по умолчанию, тогда ошибка должна исчезнуть. Пример:

pool = require('mysql').createPool({
    connectionLimit : 1000,
    connectTimeout  : 60 * 60 * 1000,
    aquireTimeout   : 60 * 60 * 1000,
    timeout         : 60 * 60 * 1000,
    host            : process.env.DB_HOST,
    user            : process.env.DB_USERNAME,
    password        : process.env.DB_PASSWORD,
    database        : process.env.DB_DATABASE
});

Вы также можете отредактировать таймаут в файле Sequence.js(node_modules/mysql/lib/protocol/sequence/Sequence.js)

this._timeout = 100000;

  • 4
    орфографическая ошибка "acquTimeout" в приведенном выше примере кода.
  • 0
    какое-то время это происходит из-за неверных учетных данных
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню