2016-03-27 46 views
0

Node JS sunucusu kullanarak OpenShift'te MySQL veritabanına bağlanmaya çalışıyorum.OpenShift'te NodeJS sunucusunu kullanarak MySQL'e nasıl bağlanırım?

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;} 
}); 

Bu hata hakkında çok okudum ama bir çözüm bulamadık: kodum var

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) 

: Ve bir hata var. Ssh kullanarak MySQL'e bağlanabilirim ve bu çevresel değişkenleri de kontrol edebilirim.

HOST, 127.9.156.2 ve NODEJS_IP değeri 127.9.156.1'dur. PORT 3306'dır. PASS ve USER da iyi.

Nerede sorun var?

cevap

0

Bu, büyük olasılıkla iki farklı sorundan kaynaklanır. Bunlardan biri, bağlantı noktasının yanlış olması veya MySQL örneğinin zaten meşgul olan bir bağlantı noktasına bağlanmaya çalışmasıdır. Buna sebep olması gerekiyorsa, bunu değiştirmelisiniz.

Diğer sorun ve büyük olasılıkla MySQL yalnızca 127.0.0.1 bağlantılarına izin vermesidir. MySQL için yapılandırma dosyasına gitmeli ve diğer ana bilgisayar bağlantılarına izin verecek şekilde ayarlamalısınız, işte bunun nasıl yapılacağı konusunda kendi dokümanlarına bir link. http://dev.mysql.com/doc/refman/5.0/en/server-options.html#option_mysqld_bind-address.

+0

Bağlantı noktasını 3307 olarak değiştirmeyi denedim, ancak hiçbir şey değişmedi. Phpmyadmin'i kontrol ettim, böylece 127.9.156.2 sunucusuna sahip bir kullanıcı var. Dosyayı yapılandırmam gerekiyor mu? Eğer öyleyse, nasıl yapılır? Bu bağlantıdan nasıl kullanacağımı anlamadım –

+1

burada PHPAdmin içinde nasıl yapılacağına dair iyi bir stackoverflow cevabı var http://stackoverflow.com/questions/16801573/how-to-access-remote-server-with- yerel phpmyadmin-client ve nasıl yapacağınızı söyleyen harika bir web sitesi. https://wadsashika.wordpress.com/2015/01/06/manage-remote-mysql-database-locally-using-phpmyadmin/ –

+0

Teşekkürler, ben –

İlgili konular