Maison >base de données >tutoriel mysql >Erreur Node.js MySQL ECONNREFUSED : comment se connecter à l'aide d'un socket Unix ?

Erreur Node.js MySQL ECONNREFUSED : comment se connecter à l'aide d'un socket Unix ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-03 11:34:12856parcourir

Node.js MySQL ECONNREFUSED Error: How to Connect Using a Unix Socket?

Node.js MySQL : résolution de l'erreur « ECONNREFUSED » lors de la connexion

Lors de la tentative de connexion à un serveur MySQL via Node.js, rencontrer une erreur « ECONNREFUSED » peut être déroutant, surtout lorsqu'un serveur PHP/Apache sur la même machine fonctionne sans aucun problèmes.

Enquêtons sur la cause de cette erreur et fournissons une solution qui a réussi.

Le défi

Dans l'extrait de code fourni, l'hôte MySQL est défini comme « localhost », tandis que le serveur MySQL sur la machine écoute sur un socket Unix '/var/run/mysqld/mysqld.sock' plutôt que le port TCP standard. Cette incompatibilité entraîne l'erreur « ECONNREFUSED » lorsque l'application Node.js tente de se connecter via TCP.

La solution

Pour résoudre ce problème, nous devons modifier les options de connexion pour spécifier le chemin du socket Unix au lieu d'un port TCP. Ceci peut être réalisé en ajoutant la ligne suivante aux options de connexion :

port: '/var/run/mysqld/mysqld.sock'

Code mis à jour

var mysql_link = {
  host: 'localhost',
  port: '/var/run/mysqld/mysqld.sock', // Modified to specify Unix socket path.
  database: 'nodetest',
  user: 'root',
  password: 'xxx'
};

Conclusion

En spécifiant les options de connexion correctes, nous pouvons garantir que l'application Node.js est capable d'établir une connexion réussie au serveur MySQL et de poursuivre son opérations en toute fluidité. Il est important de vérifier la configuration du serveur MySQL et d'utiliser les paramètres de connexion appropriés pour éviter de rencontrer de telles erreurs à l'avenir.

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!

Déclaration:
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