【发布时间】:2016-11-12 06:59:53
【问题描述】:
我在 AWS 和 MySQL 数据库上有一个实例。 我能够通过本地机器上的工作台连接到实例。 但是,我无法通过节点 js 代码连接到数据库。 下面是sn-p:
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=not 写在 AWS 实例上,我在我的机器上编写它,是的,安全组中启用了端口 3306。
我遇到了数据库连接问题。 知道我哪里错了吗? 提前致谢。
【问题讨论】:
-
错误是什么?
console.log(err) -
NodeJS 代码是否与数据库运行在同一台服务器上?如果没有,您将需要在安全组中打开端口 3306。
-
我没有使用 MongoDB @MarkB
-
你可以试试端口:3306 -> 端口:'3306'。
-
有没有办法避免添加 mysql 依赖项。AWS-native 是否没有类似 mysql-client 的东西,我可以在不添加包的情况下需要它(以及所有其他的东西,然后要求)。对于运行无服务器的 API,您必须尽可能减小大小
标签: mysql node.js amazon-web-services express