连接到aws rds的sequelize时拒绝连接

bqujaahr  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(384)

我试着以各种可能的方式连接到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文件如下:

vuv7lop3

vuv7lop31#

万一有人遇到亚马逊的连接问题。。。
您的主机设置为“localhost”,但必须设置为您要连接的主机(而不是从)。在aws rds的情况下,这看起来像这样:
some-rds-name-inserted-here.74389nctj.eu-west-2.rds.amazonaws.com

相关问题