2017-10-10 2 views
0

Ich versuche, Remote-Server-MySQL-Datenbank von einem anderen Test-Server von meinem Rest API mit Knoten js zu verbinden.Konnte nicht verbunden werden mysql nodejs

Meine Datenbank connection.js

var mysql = require('mysql'); 

var poolConnection = mysql.createPool({ 
    connectionLimit : 100, 
    host   : 'xx.xx.xx.xxx', 
    port   : 3306, 
    user   : 'testuser', 
    password  : 'test123', 
    socketPath  : '/var/run/mysqld/mysqld.sock' 
}); 

exports.query = function(sql,args,callback){ 
    poolConnection.query(sql,args,callback);  
} 

Bei dem Versuch, die Abfrage von meinem API betreibe ich diesen Fehler bin immer:

{ Error: connect ENOENT /var/run/mysqld/mysqld.sock 
at Object.exports._errnoException (util.js:1020:11) 
at exports._exceptionWithHostPort (util.js:1043:20) 
at PipeConnectWrap.afterConnect [as oncomplete] (net.js:1090:14) 
---------------------------- 
code: 'ENOENT', 
errno: 'ENOENT', 
syscall: 'connect', 
address: '/var/run/mysqld/mysqld.sock', 
fatal: true } 

Von vielen anderen Stackoverflow Referenz, ich versuche auch Kommentar aus Bind-Adresse heraus, aber es gibt auch keinen Erfolg. Wie man dieses Problem löst.

+0

Ihr Socket-Pfad ist falsch, würde ich annehmen. Versuche es mit '' require ('path') '' zuerst zu lösen. – Crowes

+0

@Crowes Remote-Server my.cnf Datei zeigen den gleichen Pfad für socket = '/var/run/mysqld/mysqld.sock' – sasuke

Antwort

1

Für Verbindungen zu einem entfernten MySQL-Server, lassen Sie die Option socketPath weg, weil das nur Sinn macht, wenn der MySQL-Server auf demselben Host wie Ihre Anwendung läuft.

Dies erfordert, dass der MySQL-Server eingerichtet ist, um Verbindungen über TCP zuzulassen.

+0

, aber ohne Socket-Pfad eine Verbindung abgewiesen verweigert Fehler 'Fehler: connect ECONNREFUSED xx.xx.xx.xxx: 3306' – sasuke

+0

@sasuke deshalb schrieb ich: _ "Dies erfordert, dass der MySQL-Server eingerichtet ist, um Verbindungen über TCP zuzulassen." _ Außerdem muss Ihr Server eingehende Verbindungen zu Port 3306 erlauben (was auch bedeutet, dass Sie nachdenken müssen über die Sicherheitsimplikationen der Öffnung eines Hafens für die Außenwelt). – robertklep

Verwandte Themen