J'ai contacté les gens de node-mysql sur leur page Github et j'ai obtenu des réponses fermes.
-
MySQL supprime en effet les connexions inactives. Il existe une variable MySQL "wait_timeout" qui définit le nombre de secondes avant l'expiration et la valeur par défaut est de 8 heures. Nous pouvons définir la valeur par défaut pour être beaucoup plus grande que cela. Utilisez
show variables like 'wait_timeout';
pour afficher votre paramètre de délai d'attente etset wait_timeout=28800;
pour le changer. -
Selon ce problème , node-mysql ne supprime pas les connexions du pool après ce type de déconnexions. Les développeurs du module ont recommandé d'utiliser un battement de cœur pour maintenir la connexion active, par exemple en appelant
SELECT 1;
sur un intervalle. Ils ont également recommandé d'utiliser le module de pool de nœuds et son option idleTimeoutMillis pour élaguer automatiquement les connexions inactives.