Nie jestem pewien, czy używasz modułu node-mysql w swoim projekcie, ale tak było i napotkałem ten sam problem z ECONNRESET. Oto powtórka mojej odpowiedzi w moim problemie :
Skontaktowałem się z użytkownikami node-mysql na ich stronie Github i otrzymałem kilka stanowczych odpowiedzi.
-
MySQL rzeczywiście usuwa bezczynne połączenia. Istnieje zmienna MySQL "wait_timeout", która ustawia liczbę sekund przed przekroczeniem limitu czasu, a domyślna wartość to 8 godzin. Możemy ustawić wartość domyślną na znacznie większą. Użyj
show variables like 'wait_timeout';
aby wyświetlić ustawienia limitu czasu iset wait_timeout=28800;
aby to zmienić. -
Według tego problemu , node-mysql nie usuwa połączeń z puli po tego rodzaju rozłączeniach. Twórcy modułu zalecali używanie pulsu, aby utrzymać połączenie, takie jak wywołanie
SELECT 1;
na interwale. Zalecili również użycie modułu puli węzłów i jego opcja idleTimeoutMillis do automatycznego przycinania bezczynnych połączeń.