首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过node.js连接aws mysql时始终显示错误

通过node.js连接aws mysql时始终显示错误
EN

Stack Overflow用户
提问于 2018-07-26 11:23:40
回答 3查看 920关注 0票数 3

我尝试通过nodejs连接aws mysql

代码语言:javascript
复制
var mysql      = require('mysql')
var connection = mysql.createConnection({
  host     : 'xxxx.xxxc.ap-northeast-1.rds.amazonaws.com',
  port      :  '3306',
  user     : 'dbusername',
  password : 'passwords',
  database : 'dbname'
})

connection.connect(function(err){

if(!err) {
    console.log("connected ... ")
} else {
    console.log(err)
}
});

当我运行这段代码时,需要几秒钟的时间,然后显示以下错误-

代码语言:javascript
复制
{ Error: connect ETIMEDOUT
at Connection._handleTimeoutError (/node_modules/mysql2/lib/connection.js:181:13)
at ontimeout (timers.js:466:11)
at tryOnTimeout (timers.js:304:5)
at Timer.listOnTimeout (timers.js:267:5)
errorno: 'ETIMEDOUT',
code: 'ETIMEDOUT',
syscall: 'connect',
fatal: true }

我谷歌了很多,找不到正确的答案,我试着使用node-mysql2,也有同样的问题。有什么想法吗?

EN

回答 3

Stack Overflow用户

发布于 2018-07-26 14:04:12

通过任何mysql客户端( mysql工作台,dbninja等)连接您的mysql aws rds进行检查,如果您能够通过任何客户端连接它,那么一定是nodejs设置有问题,否则会出现RDS细节问题。

还要检查RDS是否限制了对特定VPN的访问,因此您的节点服务器应该在同一个VPN中才能连接。

票数 0
EN

Stack Overflow用户

发布于 2018-07-26 14:43:21

默认情况下,对AWS RDS实例的网络访问处于关闭状态。

我强烈推荐:

  1. 测试您安装了Nodejs的实例是否能够连接到mysql实例。您可以通过:sudo apt-get install mysql-client (适用于Ubuntu)
  2. 检查安全组配置RDS实例。Follow AWS tutorial.
  3. Follow AWS RDS Security Best Practices并配置安全组appropriately.
票数 0
EN

Stack Overflow用户

发布于 2018-07-26 15:56:31

检查以下内容:

1-RDS安全组,并确保您的IP地址可以访问您的RDS、https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html

2-检查您的密码

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51530531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档