握手不活动超时错误AWS node.js
我对node.js很陌生。通常我是通过java连接AWS,但这次我需要使用lambda服务从基于java更改为node.js。我有一个从node.js到AWS RDS数据库的简单连接握手不活动超时错误AWS node.js,node.js,amazon-web-services,Node.js,Amazon Web Services,我对node.js很陌生。通常我是通过java连接AWS,但这次我需要使用lambda服务从基于java更改为node.js。我有一个从node.js到AWS RDS数据库的简单连接 var mysql = require('mysql'); var config = require('./config.json'); var pool = mysql.createPool({ host: config.dbhost, user: config.d
var mysql = require('mysql');
var config = require('./config.json');
var pool = mysql.createPool({
host: config.dbhost,
user: config.dbuser,
password: config.dbpassword,
database: config.dbname,
});
pool.getConnection(function(err, connection) {
// Use the connection
if (err) {
console.log(err);
} else {
connection.query('Select 1+1 as numberss', function (error, results, fields) {
// And done with the connection.
connection.release();
// Handle error after the release.
if (error) throw error;
else console.log(results);
process.exit();
// Don't use the connection here, it has been returned to the pool
});
}
});
我已经尝试了很多方法,比如添加超时、检查主机信息等
但它似乎又回来了
{ Error: Handshake inactivity timeout
at Handshake.<anonymous> (/Users/HAUZDevTeam/HAUZ-HQ-Lambda/node_modules/mysql/lib/protocol/Protocol.js:160:17)
at Handshake.emit (events.js:189:13)
at Handshake._onTimeout (/Users/HAUZDevTeam/HAUZ-HQ-Lambda/node_modules/mysql/lib/protocol/sequences/Sequence.js:124:8)
at Timer._onTimeout (/Users/HAUZDevTeam/HAUZ-HQ-Lambda/node_modules/mysql/lib/protocol/Timer.js:32:23)
at ontimeout (timers.js:436:11)
at tryOnTimeout (timers.js:300:5)
at listOnTimeout (timers.js:263:5)
at Timer.processTimers (timers.js:223:10)
--------------------
at Protocol._enqueue (/Users/HAUZDevTeam/HAUZ-HQ-Lambda/node_modules/mysql/lib/protocol/Protocol.js:144:48)
at Protocol.handshake (/Users/HAUZDevTeam/HAUZ-HQ-Lambda/node_modules/mysql/lib/protocol/Protocol.js:51:23)
at PoolConnection.connect (/Users/HAUZDevTeam/HAUZ-HQ-Lambda/node_modules/mysql/lib/Connection.js:116:18)
at Pool.getConnection (/Users/HAUZDevTeam/HAUZ-HQ-Lambda/node_modules/mysql/lib/Pool.js:48:16)
at Object.<anonymous> (/Users/HAUZDevTeam/HAUZ-HQ-Lambda/local.js:9:6)
at Module._compile (internal/modules/cjs/loader.js:701:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
at Module.load (internal/modules/cjs/loader.js:600:32)
at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
at Function.Module._load (internal/modules/cjs/loader.js:531:3)
code: 'PROTOCOL_SEQUENCE_TIMEOUT',
fatal: true,
timeout: 10000 }
{错误:握手不活动超时
握手时。(/Users/HAUZDevTeam/HAUZ HQ Lambda/node_modules/mysql/lib/protocol/protocol.js:160:17)
在Handshake.emit(events.js:189:13)
握手时。_onTimeout(/Users/HAUZDevTeam/HAUZ HQ Lambda/node_modules/mysql/lib/protocol/sequences/Sequence.js:124:8)
在Timer._onTimeout(/Users/HAUZDevTeam/HAUZ HQ Lambda/node_modules/mysql/lib/protocol/Timer.js:32:23)
在ontimeout(timers.js:436:11)
在tryOnTimeout(timers.js:300:5)
在listOnTimeout(timers.js:263:5)
at Timer.processTimers(timers.js:223:10)
--------------------
at Protocol._enqueue(/Users/HAUZDevTeam/HAUZ HQ Lambda/node_modules/mysql/lib/Protocol/Protocol.js:144:48)
在Protocol.handshake(/Users/HAUZDevTeam/HAUZ HQ Lambda/node_modules/mysql/lib/Protocol/Protocol.js:51:23)
在PoolConnection.connect(/Users/HAUZDevTeam/HAUZ HQ Lambda/node_modules/mysql/lib/Connection.js:116:18)
在Pool.getConnection(/Users/HAUZDevTeam/HAUZ HQ Lambda/node_modules/mysql/lib/Pool.js:48:16)
at对象。(/Users/HAUZDevTeam/HAUZ-HQ-Lambda/local.js:9:6)
at模块编译(内部/modules/cjs/loader.js:701:30)
at Object.Module._extensions..js(internal/modules/cjs/loader.js:712:10)
at Module.load(内部/modules/cjs/loader.js:600:32)
在tryModuleLoad(内部/modules/cjs/loader.js:539:12)
at Function.Module._load(内部/modules/cjs/loader.js:531:3)
代码:“协议\序列\超时”,
致命的:是的,
超时:10000}
有没有办法克服这个错误,或者我在代码中做了什么错误的事情?你检查了你的安全组入站连接了吗?@JatinMehrotra,入站源的类型是:MSSQL协议:TCP端口:1433源:0.0.0.0/0这就解释了。您启用了MSSQL而不是mysql对不起,@slebetman这是否意味着需要使用mysql类型再创建一个安全组?我可以知道使用MSSQL/mysql的确切原因或时间吗