3
我很难及时解决这个问题。当我尝试节点连接到AWS的RDS MySQL数据库,我收到此错误:连接节点v5.10.1时握手不活动超时错误。 to aws mysql RDS
{ [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