Allereerst moet je catch
de fout, zodat je app het goed kan afhandelen en niet crasht wanneer de mysql-verbinding om een vreemde reden wordt gesloten. Probeer het eens met connection.on('error', ...)
of met try-catch-blokken
.
Om een open verbinding te behouden, moet u ofwel opnieuw verbinding maken bij sluiten. Of gebruik gewoon mysql's pooling-verbinding , die automatisch opnieuw verbinden heel goed afhandelt, met een enkele codewijziging.
PS:Het poolen van meerdere verbindingen is over het algemeen een goed idee voor asynchrone apps, zoals servers, maar het is veilig om één verbinding te onderhouden via pooling (connectionLimit : 1
) alleen voor automatische herverbinding zelf.
PPS:Mysql's time-out voor inactiviteit kan worden geconfigureerd in my.cnf
van de server