Heim >Datenbank >MySQL-Tutorial >Node.js MySQL ECONNREFUSED-Fehler: Wie stelle ich eine Verbindung über einen Unix-Socket her?
Node.js MySQL: Behebung des „ECONNREFUSED“-Fehlers beim Herstellen einer Verbindung
Beim Versuch, über Node.js eine Verbindung zu einem MySQL-Server herzustellen, Das Auftreten eines „ECONNREFUSED“-Fehlers kann verwirrend sein, insbesondere wenn ein PHP/Apache-Server auf demselben Computer ohne diesen Fehler arbeitet Probleme.
Lassen Sie uns die Ursache dieses Fehlers untersuchen und eine Lösung bereitstellen, die erfolgreich war.
Die Herausforderung
Im bereitgestellten Codeausschnitt Der MySQL-Host ist als „localhost“ definiert, während der MySQL-Server auf der Maschine auf einem Unix-Socket lauscht '/var/run/mysqld/mysqld.sock' anstelle des Standard-TCP-Ports. Diese Nichtübereinstimmung führt zum Fehler „ECONNREFUSED“, wenn die Node.js-Anwendung versucht, eine Verbindung über TCP herzustellen.
Die Lösung
Um dieses Problem zu beheben, müssen wir Änderungen vornehmen die Verbindungsoptionen, um den Unix-Socket-Pfad anstelle eines TCP-Ports anzugeben. Dies kann erreicht werden, indem die folgende Zeile zu den Verbindungsoptionen hinzugefügt wird:
port: '/var/run/mysqld/mysqld.sock'
Aktualisierter Code
var mysql_link = { host: 'localhost', port: '/var/run/mysqld/mysqld.sock', // Modified to specify Unix socket path. database: 'nodetest', user: 'root', password: 'xxx' };
Fazit
Durch die Angabe der richtigen Verbindungsoptionen können wir sicherstellen, dass die Node.js-Anwendung eine erfolgreiche Verbindung zum MySQL-Server herstellen und ihren Betrieb fortsetzen kann nahtlos. Es ist wichtig, die Konfiguration des MySQL-Servers zu überprüfen und die entsprechenden Verbindungsparameter zu verwenden, um solche Fehler in Zukunft zu vermeiden.
Das obige ist der detaillierte Inhalt vonNode.js MySQL ECONNREFUSED-Fehler: Wie stelle ich eine Verbindung über einen Unix-Socket her?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!