1

我正在使用 Visual Studio 代码 SAM 选项构建 lambda 函数。我正在尝试连接到 VPC 网络中的 RDS 实例 (MYSQL)。我尝试使用以下代码进行连接。我没有收到任何错误,但它没有连接到数据库。我已经搜索了所有地方,但没有得到任何解决方案。我尝试关注但没有奏效

const fs = require('fs');


    const mysqlssh = require('mysql-ssh');
    mysqlssh.connect(
        {
            host: 'XXX.XXX.XX.XX',
            user: 'ec2-user',
            privateKey: fs.readFileSync('./XXXX-txlarge.pem')
        },
        {
            host: '-staging-instanceXXXXX.rds.amazonaws.com',
            user: 'user',
            password: 'password',
            database: 'db'
        }
    )
    .then(client => {
        client.query('SELECT * FROM users', function (err, results, fields) {
            if (err) throw err
            console.log(results);
            mysqlssh.close()
        })
    })
4

1 回答 1

1

mysql-ssh尝试使用简单的模块,而不是使用基于隧道类型的 sql 连接mysql模块,

const fs = require('fs');   

const mysql = require('mysql');
let connection = mysql.createConnection(
    {
        host: 'XXX.XXX.XX.XX-staging-instanceXXXXX.rds.amazonaws.com',
        user: 'user',
        password: 'password',
        database: 'db'
    }
);

 connection.connect();

 connection.query('SELECT * FROM users', function (err, results, fields) {
       if (err) throw err
        console.log("rows: " + rows);
        context.succeed('Success');
    });

PS:您可能需要根据需要编写一些代码,但这是您应该尝试做的。

于 2020-01-27T06:54:50.610 回答