2016-07-10 39 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',