Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL dando erro de leitura ECONNRESET após tempo ocioso no servidor node.js


Entrei em contato com o pessoal do node-mysql em sua página do Github e obtive algumas respostas firmes.

  1. O MySQL realmente remove conexões ociosas. Existe uma variável MySQL "wait_timeout" que define o número de segundos antes do tempo limite e o padrão é 8 horas. Podemos definir o padrão para ser muito maior do que isso. Use show variables like 'wait_timeout'; para visualizar sua configuração de tempo limite e set wait_timeout=28800; para mudá-lo.

  2. De acordo com este problema , o node-mysql não remove as conexões do pool após esses tipos de desconexões. Os desenvolvedores do módulo recomendaram usar uma pulsação para manter a conexão ativa, como chamar SELECT 1; em um intervalo. Eles também recomendaram o uso do módulo node-pool e sua opção idleTimeoutMillis para remover automaticamente conexões ociosas.