Entrei em contato com o pessoal do node-mysql em sua página do Github e obtive algumas respostas firmes.
-
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. Useshow variables like 'wait_timeout';
para visualizar sua configuração de tempo limite eset wait_timeout=28800;
para mudá-lo.
-
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 chamarSELECT 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.