verbinden ECONNREFUSED - node, js , sql
Ich habe folgenden code in eine js-Datei:
var mysql = require('mysql');
var TEST_DATABASE = 'nodejs_mysql_test';
var TEST_TABLE = 'test';
var client = mysql.createClient({
user: 'root',
password: 'root',
});
client.query('CREATE DATABASE '+TEST_DATABASE, function(err) {
if (err && err.number != mysql.ERROR_DB_CREATE_EXISTS) {
throw err;
}
});
Aber ich bekomme diese Fehlermeldung:
node.js:201
throw e; //process.nextTick error, or 'error' event on first tick
^
Error: connect ECONNREFUSED
at errnoException (net.js:632:11)
at Object.afterConnect [as oncomplete] (net.js:623:18)
Wie ich es verstehe, ist dies eine Verbindung problem - aber wie kann ich es lösen?
( Ich arbeite unter windows 7)
Dank!!
- Es scheint, dass aus irgendeinem Grund die Seite denkt, dass die Datenbank betriebsbereit ist. Es läuft auf localhost, richtig?
- offensichtliche Frage: ist mysql auf dem gleichen Rechner laufen, auf port 3306? können Sie
telnet localhost 3306
? - wenn ich Schreibe in CMD die Zeile telnet localhost 3306 bekomme ich: 'telnet' ist nicht als Befehl interne oder externe, betriebsbereiten Programm oder batch-Datei. Ist es das, was du meinst?
- was seppo0010 ist, ist, sind Sie absolut sicher, dass dort ein MySQL-server auf dem lokalen Rechner läuft und lauscht auf port 3306, pro die Verbindungseinstellungen, die Sie verwenden? Dieser Fehler weist darauf hin, dass Sie versuchen, die Verbindung zu einem server ist nicht in Wartestellung.
- Auch wenn es auf dem lokalen Rechner läuft, müssen Sie sicher sein, dass MySQL lauscht auf localhost/127.0.0.1 und nicht nur die externe IP.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich kenne zwei Möglichkeiten, es zu lösen:
In
mysql.conf
Kommentarskip-networking
.Versuchen, die Buchse wie diese:
_socket
Schlüssel sortiert mich aus!/etc/mysql/ my.cnf
odermysql.conf
). Unten haben Sie ein Beispiel von dem, was Sie schreiben sollte, in diesem Fall:bind-address = 127.0.0.1
socketPath
statt_socket
Bekam ich diese Fehlermeldung, wenn MySQL-Server nicht ausgeführt wurde.
Änderte ich meine Konfiguration über Initialisierung der Datenbank in MySQL.PrefPane, die "System Preferences" - tool für MySQL auf OS X - auf die Verwendung von Legacy-Passwort-Verschlüsselung - fix ER_NOT_SUPPORTED_AUTH_MODE.
Diese config ändern, MySQL-Server gestoppt und dann bekam ich ECONNREFUSED, als ich versucht habe die MySQL-Verbindung aus node.js.
Behoben durch Neustart von MySQL-Server aus dem MySQL-System-Einstellungen.
Versuchen, fixieren Sie Ihre definierten port in mysql und Ihre Node.js script.
Sie können definieren Sie den mysqld-port in der *.cnf Datei im mysql Verzeichnis,
und Sie können festlegen, dass der port, wenn du die MySQL-Verbindung in Ihrem Node.js script.
So etwas in der cnf-Datei