2016-07-10 59 views
1

我在AWS和MySQL數據庫上運行了一個實例。 我能夠通過本地機器上的工作臺連接到實例。 但是,我無法通過節點js代碼連接到數據庫。 下面是摘錄:通過節點JS連接到AWS MySQL數據庫

var express = require("express"); 
var mysql  = require('mysql'); 
var connection = mysql.createConnection({ 
    host  : 'ec2-52-33-41-xxx.us-west-2.compute.amazonaws.com', 
port  : 3306, 
    user  : 'ec2-user', 
    password : 'root', 
    database : 'FAMILY_GIVING_TREE' 

}); 
var app = express(); 

connection.connect(function(err){ 

if(!err) { 
    console.log("Database is connected ... ");  
} else { 
    console.log("Error connecting database ... ");  
} 
}); 

的錯誤是:

{ [Error: connect ECONNREFUSED 52.33.xx.84:3306] 
    code: 'ECONNREFUSED', 
    errno: 'ECONNREFUSED', 
    syscall: 'connect', 
    address: '52.33.41.84', 
    port: 3306, 
    fatal: true } 

節點js代碼爲w =不寫在AWS實例,我寫這在我的機器上,並且是在3306端口在安全組中啓用。

我得到數據庫連接問題。 任何想法我哪裏錯了? 在此先感謝。

+1

什麼是錯誤? 'console.log(err)' –

+0

NodeJS代碼是否與數據庫在同一臺服務器上運行?如果沒有,則需要在安全組中打開端口3306。 –

+0

我沒有使用MongoDB @MarkB –

回答

1

Node.js代碼中存在語法錯誤。將port : 3306,替換爲下面的缺失''

port : '3306',