我试图以各种可能的方式连接到aws rds并且在使用sequelize时我得到连接拒绝错误,所以我想知道在建立连接时是否需要设置或包含设置。代码在我的本地机器上工作,如果我推送到heroku,但是我需要为这个项目使用aws实例。
我使用sequelize CLI生成一个index.js文件,其代码为:
var path = require('path');
var Sequelize = require('sequelize');
var basename = path.basename(__filename);
const config = require(path.join(__dirname,'../config/config.js'));
const db = {};
console.log('config: ',config);
if (config.env === 'production') {
console.log('i ran');
var sequelize = new Sequelize(config.use_env_variable);
} else {
console.log('else ran');
var sequelize = new Sequelize(config.db.database, config.db.username, config.db.password, {
dialect:config.db.dialect});
}
正如你所看到的,config变量就是这样做的,我确保设置了env变量。我已经三次检查以确保用户名和密码是正确的。我也尝试使用aws提供的端点而不是localhost但是也失败了。我已经确保更改aws上的安全设置以允许任何IP地址访问它并且我已成功使用mysql工作台进行连接,因此必须有一些特定于sequelize或我使用的代码正确的其他东西?
答案 0 :(得分:0)
万一有人遇到与亚马逊的连接问题...
您的主机设置为“本地主机”,但是必须将其设置为您要连接的主机(而不是来自)。在aws rds情况下,它将看起来像这样:
some-rds-name-inserted-here.74389nctj.eu-west-2.rds.amazonaws.com
答案 1 :(得分:0)
检查您的 RDS 网络连接是否在您或您的托管服务提供商区域可用。