我试着以各种可能的方式连接到awsrds,在使用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 workbench进行连接,因此必须有其他特定的东西来sequelize或我正在使用的代码正确吗?
更新我的config.js文件如下:
1条答案
按热度按时间vuv7lop31#
万一有人遇到亚马逊的连接问题。。。
您的主机设置为“localhost”,但必须设置为您要连接的主机(而不是从)。在aws rds的情况下,这看起来像这样:
some-rds-name-inserted-here.74389nctj.eu-west-2.rds.amazonaws.com