连接节点 v5.10.1 时握手不活动超时错误。到 aws mysql RDS
Posted
技术标签:
【中文标题】连接节点 v5.10.1 时握手不活动超时错误。到 aws mysql RDS【英文标题】:Handshake inactivity timeout error when connecting node v5.10.1. to aws mysql RDS 【发布时间】:2016-08-18 03:05:44 【问题描述】:我真的很难解决这个问题。当我尝试将节点连接到 aws 的 rds mysql 数据库时,我收到此错误:
[Error: Handshake inactivity timeout]
code: 'PROTOCOL_SEQUENCE_TIMEOUT',
fatal: true,
timeout: 10000
在线解决方案建议更新到节点 v4.2.1,但我使用的是 v5.10.1。 当我将节点连接到我的本地主机 mysql 时,我没有任何问题。
这是我的代码:
connectionpool = mysql.createPool(
host : 'dev-db.xxxxxx.us-west-2.rds.amazonaws.com',
user : 'xxxxx',
password : 'xxxxx',
database : 'decurate',
);
app.get('/:table', function(req,res)
connectionpool.getConnection(function(err, connection)
if (err)
console.error('CONNECTION error: ',err);
res.statusCode = 503;
res.send(
result: 'error',
err: err.code
);
else
connection.query('SELECT * FROM user ORDER BY user_id DESC LIMIT 20', req.params.id, function(err, rows, fields)
if (err)
console.error(err);
res.statusCode = 500;
res.send(
result: 'error',
err: err.code
);
res.send(
result: 'success',
err: '',
json: rows
);
connection.release();
);
);
);
请指教。
谢谢!
【问题讨论】:
您是否尝试使用 mysql 命令行客户端从节点机器连接到服务器...或使用nc
甚至 telnet
-- 验证简单网络连接的东西?
是的,如果我通过 SSH 或 MSQL 工作台连接到 mysql 服务器,它工作正常。 `只是不能在节点中工作。
好的,但是来自运行节点的机器 命令nc dev-db.xxxxxx.us-west-2.rds.amazonaws.com 3306
是否返回预期的垃圾字符串,例如N 5.6.19-logxxxwRrf,FZpxxxHUQx)a-[ca?Rmysql_native_password
?还是telnet dev-db.xxxxxx.us-west-2.rds.amazonaws.com 3306
甚至cat < /dev/tcp/dev-db.xxxxxx.us-west-2.rds.amazonaws.com/3306
?任何这些东西都可以用来测试连接性。
我尝试了nc dev-db.xxxxxx.us-west-2.rds.amazonaws.com 3306
命令,这是我收到nc: connect to dev-db.xxxxxxxx.us-west-2.rds.amazonaws.com port 3306 (tcp) failed: Connection timed out
的响应
天啊!!经过几天的头痛,我想通了。我让我的 aws ec2 实例安全组从我的 ip 而不是 ec2 ip 接收流量。赞美主!!非常感谢您的帮助@Michael-sqlbot
【参考方案1】:
我想问题出在无法连接到 mysql db 的主机上。我通过将主机配置添加到我的主机文件来解决这个问题。即使您运行任何 aws 实例,您也应该将您的域名配置为 hosts 文件。以便在您的应用程序配置中自动查找所需的 IP 地址。
127.0.0.1 localhost
127.0.0.1 yourdomain.com
重启你的 apache。
它对我有用。试试这个并告诉我。
【讨论】:
以上是关于连接节点 v5.10.1 时握手不活动超时错误。到 aws mysql RDS的主要内容,如果未能解决你的问题,请参考以下文章