Maison > base de données > tutoriel mysql > le corps du texte

Pourquoi ma connexion MySQL Node.js lance-t-elle « lire ECONNRESET » après un temps d'inactivité ?

DDD
Libérer: 2024-11-12 06:45:02
original
199 Les gens l'ont consulté

Why Does My Node.js MySQL Connection Throw

Dépannage de l'erreur « lire ECONNRESET » dans MySQL après le temps d'inactivité du serveur Node.js

Présentation du problème

Lorsqu'un serveur Node.js se connecte à MySQL via le module node-mysql et reste inactif pendant une longue durée, la première requête suivante entraîne souvent une erreur "lecture ECONNRESET". Cette erreur suggère une interruption de connexion entre Node et MySQL.

Questions et réponses

1. Limitation de la durée de vie de la connexion ?

Réponse : Oui, MySQL a une variable "wait_timeout" qui déconnecte les connexions inactives après un certain temps (par défaut : 8 heures).

2. Gestion gracieuse des déconnexions par les pools de connexions ?

Réponse : Les pools de connexions de Node-mysql n'élaguent pas automatiquement les connexions déconnectées. L'option ralentieTimeoutMillis d'un battement de cœur ou d'un pool de nœuds peut être utilisée pour maintenir la disponibilité de la connexion.

3. Dépannage au-delà de MySQL ?

Réponse : Bien que l'erreur soit généralement associée à MySQL, il est conseillé d'exclure d'autres causes potentielles telles que des problèmes de réseau ou du code Node.js affectant le connexion.

Solutions

  • Extendez le "wait_timeout" de MySQL : augmentez le délai d'expiration de MySQL pour empêcher l'élagage de la connexion.
  • Implémenter un battement de cœur : utilisez une requête telle que « SELECT 1 ; » à intervalles réguliers pour maintenir une connexion active et empêcher la déconnexion.
  • Configurer "idleTimeoutMillis" du pool de nœuds : élaguer automatiquement les connexions inactives à l'aide du module de pool de nœuds.

Informations supplémentaires

L'erreur peut également être causée par :

  • Problèmes de connectivité réseau entre les serveurs Node et MySQL.
  • Charge ou latence élevée impactant le serveur MySQL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal