Em primeiro lugar, você deve
catch
o erro, para que seu aplicativo possa lidar com isso corretamente e não trava quando a conexão mysql é fechada por qualquer motivo estranho. Tente com connection.on('error', ...)
ou com blocos try-catch
. Para manter uma conexão aberta, você deve reconectar ao fechar. Ou simplesmente use a conexão de pool do mysql , que lida muito bem com a reconexão automática, com uma única alteração de código.
PS:O agrupamento de várias conexões geralmente é uma boa ideia para aplicativos assíncronos, como servidores, mas é seguro manter uma única conexão por meio do agrupamento (
connectionLimit : 1
) apenas para a própria reconexão automática. PPS:O tempo limite de inatividade do Mysql pode ser configurado no
my.cnf
do servidor