Först och främst bör du catch
felet, så att din app kan hantera det ordentligt och inte kraschar när mysql-anslutningen stängs av någon udda anledning. Försök antingen med connection.on('error', ...)
eller med try-catch-block
.
För att hålla en öppen anslutning bör du antingen återansluta vid stängning. Eller använd helt enkelt mysqls poolningsanslutning , som hanterar automatisk återanslutning mycket bra, med en enda kodändring.
PS:Att poola flera anslutningar är generellt sett en bra idé för asynkrona appar, som servrar, men det är säkert att upprätthålla en enda anslutning via pooling (connectionLimit : 1
) bara för automatisk återanslutning.
PPS:Mysqls inaktivitet timeout kan konfigureras i serverns my.cnf