2017-09-26 1 views
0

Ich und ein Freund haben gerade angefangen, an einer kleinen App zu arbeiten. Es verwendet NodeJS (mit Socket.io und Express). Wir sind neu in NodeJS und können daher nicht wirklich verstehen, warum wir den Fehler bekommen, den wir bekommen. Jeder Zoll Hilfe ist willkommen :)Fehler beim Verbinden mit MYSQL-Datenbank (NodeJS, socket.io, express)

Hier ist der Code:

var express = require('express'); 
var app = express(); 
var serv = require('http').Server(app); 

app.get('/', function(req, res) { 
    res.sendFile(__dirname + '/client/index.html'); 
}); 
app.use('/client', express.static(__dirname + '/client')); 

serv.listen(2000); 
console.log("Server started!"); 
var io = require('socket.io')(serv,{}); 


var md5 = require('md5'); 
var mysql = require('mysql'); 
var dbconn = mysql.createConnection({ 
    host: "mySERVER", 
    user: "myUSER", 
    password: "myPASSWORD", 
    database: "myDBNAME" 
}); 


dbconn.connect(function(err) { 
    if (err) throw err; //THE ERROR IS THROWN HERE 
}); 

io.sockets.on("connection", function(socket) { 

    socket.on("register", function(obj){ 
     var sql = 'INSERT INTO users (name, password) VALUES ("' + obj.name + '", "' + md5(obj.password) + '")'; 

     dbconn.query(sql, function (err, result) { 
      if (err) throw err; 
      console.log("Result: " + result); 

     }); 

    }); 
}); 

Und hier ist die Fehlermeldung:

Error: connect ECONNREFUSED mySERVER:3306 
at Object.exports._errnoException (util.js:1018:11) 
at exports._exceptionWithHostPort (util.js:1041:20) 
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1086:14) 
-------------------- 
at Protocol._enqueue (PROJECTPATH\node_modules\mysql\lib\protocol\Protocol.js:145:48) 
at Protocol.handshake (PROJECTPATH\node_modules\mysql\lib\protocol\Protocol.js:52:23) 
at Connection.connect (PROJECTPATH\node_modules\mysql\lib\Connection.js:130:18) 
at Object.<anonymous> (PROJECTPATH\app.js:32:8) 
at Module._compile (module.js:570:32) 
at Object.Module._extensions..js (module.js:579:10) 
at Module.load (module.js:487:32) 
at tryModuleLoad (module.js:446:12) 
at Function.Module._load (module.js:438:3) 
at Module.runMain (module.js:604:10) 

Vielen Dank im Voraus!

Antwort

0

Es ist ein Datenbankverbindungsfehler. Sie sind mysql Host und/oder Port sind falsch.

Sicherstellen, dass die Informationen übergeben unten an der mysq.createConnection Funktion im Code korrekt sind:

var dbconn = mysql.createConnection({ 
    host: "mySERVER", 
    user: "myUSER", 
    password: "myPASSWORD", 
    database: "myDBNAME" 
}); 
+0

Ich bin 100% sicher, dass diejenigen sind richtig, ich habe es mit mehreren verschiedenen Benutzer, überprüft die mysql-Port auf meinem Server und so weiter. Plus alle Daten funktionierten perfekt in PHP – nH13

+0

Was ist mit Ihrer '/ etc/hosts' Datei, einen Eintrag für 'mySERVER'? –

+0

'# --- BEGIN PVE --- myServer # --- ENDE PVE ---' also ja ich denke, die IP ist dort richtig – nH13

Verwandte Themen