Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
握手不活动超时错误AWS node.js_Node.js_Amazon Web Services - Fatal编程技术网

握手不活动超时错误AWS node.js

握手不活动超时错误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

我对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.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的确切原因或时间吗