如何用AWS EC2主机连接RDS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用AWS EC2主机连接RDS相关的知识,希望对你有一定的参考价值。

参考技术A 你有一个AWS RDS,上面跑着一个mysql实例。

在同一个VPC可用区下,你有一个EC2主机,现在想用EC2来连接Mysql,怎么操作?

mysql -h mysql–instance1.123456789012.us-east-1.rds.amazonaws.com -P 3306 -u mymasteruser -p

-h:host地址,下图这个就是地址。

-P:置顶Mysql的默认端口,3306.

-u:后面指定用户名

-p:password

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

【中文标题】如何连接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 工作台中创建了数据库。现在可以了。

以上是关于如何用AWS EC2主机连接RDS的主要内容,如果未能解决你的问题,请参考以下文章

错误 2005 (HY000):aws 中的未知 MySQL 服务器主机

使用 MySQL Workbench 通过 EC2 实例连接到 Amazon RDS 实例

出于开发目的,无法从本地主机连接到 AWS RDS Postgresql

AWS ElasticBeanstalk EC2 到 RDS postgresql 连接

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

AWS RDS / EC2:TimeoutError:Knex:获取连接超时。游泳池可能已满