Maison > base de données > tutoriel mysql > Pourquoi est-ce que j'obtiens une erreur « lire ECONNRESET » dans mon application MySQL Node.js après une période d'inactivité ?

Pourquoi est-ce que j'obtiens une erreur « lire ECONNRESET » dans mon application MySQL Node.js après une période d'inactivité ?

Mary-Kate Olsen
Libérer: 2024-11-20 03:27:02
original
229 Les gens l'ont consulté

Why do I get a

MySQL lit l'erreur ECONNRESET après un temps d'inactivité sur le serveur Node.js

Les applications Node.js interagissant avec MySQL via node-mysql rencontrent souvent le Erreur "lire ECONNRESET" après un temps d'inactivité. Ce problème soulève plusieurs questions :

1. Déconnexion de la connexion du nœud au serveur MySQL ?

Oui, l'erreur suggère une déconnexion entre les serveurs Node et MySQL. MySQL possède une variable "wait_timeout" qui détermine le délai d'inactivité avant de fermer les connexions. La valeur par défaut est de 8 heures.

2. Incapacité des pools de connexions à gérer les déconnexions ?

Bien que node-mysql utilise des pools de connexions, il n'élague pas automatiquement les connexions déconnectées. Le problème peut rester non détecté jusqu'à ce qu'une requête soit tentée.

3. Explorer d'autres sources d'erreur ?

Bien que l'erreur « lire ECONNRESET » soit courante, il vaut la peine d'exclure d'autres causes potentielles au-delà de MySQL.

Solutions :

Pour résoudre ce problème :

  1. Augmentez le délai d'attente : Définissez le "wait_timeout" de MySQL sur une valeur plus élevée (par exemple, 28 800 secondes) pour empêcher l'arrêt des connexions.
  2. Implémentez un battement de cœur : Exécutez périodiquement une requête telle que « SELECT 1 ; » pour maintenir la connexion vivante. Vous pouvez également utiliser le module node-pool avec l'option "idleTimeoutMillis".
  3. Utiliser les pools de connexions : Les pools de connexions comme le pool de nœuds peuvent automatiquement élaguer les connexions inactives, garantissant ainsi le maintien des connexions actives.

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