我很难及时解决这个问题。当我尝试将节点连接到aws的rds mysql数据库时,我收到此错误:
{ [Error: Handshake inactivity timeout]
code: 'PROTOCOL_SEQUENCE_TIMEOUT',
fatal: true,
timeout: 10000 }
解决方案在线建议更新到节点v4.2.1,但我在v5.10.1上。 将节点连接到localhost 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();
});
}
});
});
请指教。
谢谢!
答案 0 :(得分:0)
我猜问题是主机无法连接到mysql db。我通过将主机配置添加到我的hosts文件来解决这个问题。即使您运行任何aws实例,也应将域名配置为hosts文件。这样您的应用程序配置就会自动查找到所需的IP地址。
127.0.0.1 localhost
127.0.0.1 yourdomain.com
重启你的apache。
它对我有用。尝试这个&让我知道。