如何连接nodejs sequelize aws rds mysql数据库和ec2实例

Posted

技术标签:

【中文标题】如何连接nodejs sequelize aws rds mysql数据库和ec2实例【英文标题】:how to connect nodejs sequelize aws rds mysql database and ec2 instances 【发布时间】:2021-11-13 13:05:57 【问题描述】:

我正在尝试连接我的 EC2 实例和 AWS RDS mysql 数据库。 ii 返回数据库未找到错误。

如何修复 git fix?

RDS 数据库成功连接到我的MySQL 工作台

const fs = require('fs');
const path = require('path');
const Sequelize = require('sequelize');
const basename = path.basename(__filename);
const env = process.env.NODE_ENV || 'development';
const config = require(__dirname + '/../config/config.json')[env];
const db = ;

let sequelize;
if (config.use_env_variable) 
  sequelize = new Sequelize(process.env[config.use_env_variable], config);
 else 
  sequelize = new Sequelize('*db name*', '***username***', '****pwd*****', 
    host: '*********.us-east-2.rds.amazonaws.com',
    port: 3306
    logging: console.log,
    maxConcurrentQueries: 100,
    dialect: 'mysql',
    dialectOptions: 
        ssl:'Amazon RDS'
    ,
    pool:  maxConnections: 5, maxIdleTime: 30,
    language: 'en'
);


db.Sequelize = Sequelize;
db.sequelize = sequelize;

module.exports = db;

我正在使用

续集版本^6.6.4 Nodejs 版本 14.15.1

Screenshot of the error.

【问题讨论】:

你能分享 RDS 实例的屏幕截图吗? 【参考方案1】:

根据screenshot,您正在尝试使用它的数据库名称连接到DB

但是AWS RDSDB Instance nameMySQL之间有一点混淆,默认DB名称是mysql

所以,我建议使用mysql 而不是AWS-tvrs 作为数据库名称。

【讨论】:

我在 MySQL 工作台中创建了数据库。现在可以了。

以上是关于如何连接nodejs sequelize aws rds mysql数据库和ec2实例的主要内容,如果未能解决你的问题,请参考以下文章

AWS Lambda/APIG - 新 Sequelize 的新 PostgresDialect 的新 ConnectionManager 出错

nodejs sequelize连接字符串中的异步等待问题

NodeJS/Sequelize/MySQL - 为啥需要 postgres 依赖项?

如何在 SEQUELIZE (nodeJS) 中创建触发器?

全栈项目|小书架|服务器开发-NodeJS 中使用 Sequelize 操作 MySQL数据库

如何使用nodejs sequelize执行此SQL查询?