Tout d'abord, vous devez catch
l'erreur, afin que votre application puisse la gérer correctement et ne se bloque pas lorsque la connexion mysql est fermée pour une raison étrange. Essayez soit avec connection.on('error', ...)
ou avec blocs try-catch
.
Pour garder une connexion ouverte, vous devez soit vous reconnecter à la fermeture. Ou utilisez simplement la connexion de pooling de mysql , qui gère très bien la reconnexion automatique, avec un seul changement de code.
PS :La mise en commun de plusieurs connexions est généralement une bonne idée pour les applications asynchrones, comme les serveurs, mais il est prudent de maintenir une seule connexion via la mise en commun (connectionLimit : 1
) juste pour la reconnexion automatique elle-même.
PPS :le délai d'inactivité de Mysql peut être configuré dans le serveur my.cnf