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

Pourquoi est-ce que j'obtiens une erreur « lire ECONNRESET » dans Node.js une fois la connexion MySQL inactive ?

Susan Sarandon
Libérer: 2024-11-12 04:27:02
original
611 Les gens l'ont consulté

Why am I getting

Erreur MySQL "lire ECONNRESET" dans Node.js après un temps d'inactivité

Lors de la connexion à MySQL via le module node-mysql, vous pouvez rencontrez l’erreur « lire ECONNRESET » après avoir laissé le serveur inactif pendant de longues périodes. Cette erreur indique une réinitialisation de la connexion, potentiellement due au mécanisme d'élagage des connexions inactives de MySQL.

Diagnostic du problème :

  • Déconnexion de la connexion : L'erreur suggère une déconnexion entre la connexion de Node et le serveur MySQL. Cela pourrait être dû au paramètre "wait_timeout" de la variable MySQL, qui est par défaut de 8 heures.
  • Problèmes de pool de connexions : Node-mysql utilise des pools de connexions pour gérer les déconnexions et supprimer les connexions inactives. Cependant, il se peut qu'il ne soit pas en mesure d'élaguer une connexion déconnectée tant que vous n'avez pas effectué une requête, ce qui déclenche l'erreur.
  • Facteurs externes : Alors que l'erreur "lire ECONNRESET" est souvent associée à MySQL , pensez à vérifier tout facteur externe potentiel contribuant à la perte de connexion.

Résoudre l'erreur :

  • Augmenter le délai d'attente : Définissez la variable MySQL "wait_timeout" sur une durée plus longue, par exemple 28 800 secondes (8 heures). Cela permet des périodes d'inactivité plus longues sans déconnexion.
  • Utilisez Pool Pruning : Implémentez un mécanisme de battement de cœur dans votre code pour envoyer périodiquement SELECT 1 ; requêtes à la base de données, maintenant la connexion active.
  • Insistez sur le délai d'inactivité : Utilisez l'option ralentieTimeoutMillis du module de pool de nœuds pour élaguer automatiquement les connexions inactives, empêchant ainsi le problème de survenir.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal