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

时间:2018-07-26 03:23:40

标签: mysql node.js amazon-web-services

我尝试通过nodejs连接AWS mysql

{ 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

我在Google上搜索了很多,但找不到正确的答案,因此我尝试使用data() return{ eventSources: [{ events(start, end, timezone, callback) { axios.get(`/Info/Something1`).then(response => { callback(response.data); }).catch(error => { console.log(error); }); }, { events(start, end, timezone, callback) { axios.get(`/Info/Something2`).then(response => { callback(response.data); }).catch(error => { console.log(error); }); } }] } 时遇到了同样的问题。有什么想法吗?

3 个答案:

答案 0 :(得分:0)

通过任何mysql客户端(mysql workbench,dbninja等)连接您的mysql aws rds进行检查,如果您能够通过任何客户端进行连接,则nodejs设置一定有问题,否则会出现问题。 RDS详细信息。

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

答案 1 :(得分:0)

默认情况下,对AWS RDS实例的网络访问已关闭。

我强烈建议:

  1. 测试具有Node.js的实例是否能够连接到 mysql实例。您可以执行以下操作: sudo apt-get install mysql-client(对于Ubuntu)

  2. 检查RDS实例的安全组配置。 Follow AWS tutorial

  3. 关注AWS RDS Security Best Practices 并适当地配置安全组。

答案 2 :(得分:0)

检查以下内容:

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

2-检查您的密码