2016-03-27 3 views
0

Ich versuche eine Verbindung zu MySQL Datenbank in OpenShift mit Node JS Server. Und ich habe einen Fehler:Wie kann ich mit NodeJS Server in OpenShift eine Verbindung zu MySQL herstellen?

Error: connect ECONNREFUSED 127.0.0.1:3306 
    at Object.exports._errnoException (util.js:870:11) 
    at exports._exceptionWithHostPort (util.js:893:20) 
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1057:14) 
    -------------------- 
    at Protocol._enqueue (D:\nodejs\node_modules\mysql\lib\protocol\Protocol.js:141:48) 
    at Protocol.handshake (D:\nodejs\node_modules\mysql\lib\protocol\Protocol.js:52:41) 
    at Connection.connect (D:\nodejs\node_modules\mysql\lib\Connection.js:123:18) 
    at Object.<anonymous> (D:\nodejs\server.js:17:12) 
    at Module._compile (module.js:409:26) 
    at Object.Module._extensions..js (module.js:416:10) 
    at Module.load (module.js:343:32) 
    at Function.Module._load (module.js:300:12) 
    at Function.Module.runMain (module.js:441:10) 
    at startup (node.js:139:18) 

, dass mein Code ist:

var connection = mysql.createConnection({ 
    host  : process.env.OPENSHIFT_MYSQL_DB_HOST, 
    user  : process.env.OPENSHIFT_MYSQL_DB_USERNAME, 
    password : process.env.OPENSHIFT_MYSQL_DB_PASSWORD, 
    port  : process.env.OPENSHIFT_MYSQL_DB_PORT, 
    database : process.env.OPENSHIFT_APP_NAME 
}); 

connection.connect(function(err){ 
    if (err) {throw err;} 
}); 

ich viel über diesen Fehler zu lesen, aber ich habe nicht eine Lösung finden. Ich kann mit ssh Verbindung zu MySQL herstellen, und ich kann diese Umgebungsvariablen auch überprüfen.

HOST ist 127.9.156.2 und NODEJS_IP ist 127.9.156.1. PORT ist 3306. PASS und USER sind auch ok.

Wo ist ein Problem?

Antwort

0

Dies ist höchstwahrscheinlich auf zwei verschiedene Probleme zurückzuführen. Eine davon ist, dass der Port falsch ist oder die MySQL-Instanz versucht, sich mit einem Port zu verbinden, der bereits belegt ist. Sie müssen dies ändern, wenn dies der Grund dafür ist.

Das andere Problem und ist wahrscheinlicher ist standardmäßig MySQL erlaubt nur 127.0.0.1 Verbindungen. Sie müssen in die Konfigurationsdatei für MySQL gehen und sie so einrichten, dass andere Host-Verbindungen möglich sind. Hier finden Sie einen Link zu ihren Dokumenten, um dies zu tun. http://dev.mysql.com/doc/refman/5.0/en/server-options.html#option_mysqld_bind-address.

+0

Ich versuchte, Port zu 3307 zu ändern, aber nichts änderte. Ich habe phpmyadmin überprüft, also gibt es einen Benutzer, der Host 127.9.156.2 hat. Muss ich die Datei konfigurieren? Wenn ja, wie? Ich habe nicht verstanden, wie man es von diesem Link verwendet –

+1

hier ist eine gute stackoverflow Antwort auf wie man es innerhalb PHPAdmin http://stackoverflow.com/questions/16801573/how-to-access-remote-server-with- local-phpmyadmin-client und eine tolle Website, um Ihnen zu sagen, wie es geht. https://wadsashika.wordpress.com/2015/01/06/manage-remote-mysql-database-locally-using-phpmyadmin/ –

+0

Danke, ich werde versuchen –

Verwandte Themen