从AWS lambda(Alexa skill的后端)连接到外部Mysql数据库会返回“拒绝用户访问”消息

从AWS lambda(Alexa skill的后端)连接到外部Mysql数据库会返回“拒绝用户访问”消息,mysql,aws-lambda,alexa,Mysql,Aws Lambda,Alexa,我正在用Javascript编写一个Alexa lambda函数来连接到我的外部数据库。我已使用相同的用户名和密码成功访问了该数据库。我已经从笔记本电脑的noded_modules文件夹上传了mysql代码。以下是Javascript代码: var mysql = require('mysql'); var con = mysql.createConnection({ host: "www.oryxtech.net", u

我正在用Javascript编写一个Alexa lambda函数来连接到我的外部数据库。我已使用相同的用户名和密码成功访问了该数据库。我已经从笔记本电脑的noded_modules文件夹上传了mysql代码。以下是Javascript代码:

        var mysql = require('mysql');

        var con = mysql.createConnection({
          host: "www.oryxtech.net",
          user: "",
          password: "" 
        });

        con.connect(function(err) {
          if (err) throw err;
          console.log("Connected!");
        });
这是来自lambda控制台的错误消息:

2020-01-03T23:08:10.885Z    1100009f-24bf-4980-a2e1-27044988eb9d    Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'oryxtech_sideE'@'ec2-3-85-146-115.compute-1.amazonaws.com' (using password: YES)
    at Handshake.Sequence._packetToError (/var/task/mysql/lib/protocol/sequences/Sequence.js:47:14)
    at Handshake.ErrorPacket (/var/task/mysql/lib/protocol/sequences/Handshake.js:123:18)
    at Protocol._parsePacket (/var/task/mysql/lib/protocol/Protocol.js:291:23)
    at Parser._parsePacket (/var/task/mysql/lib/protocol/Parser.js:433:10)
    at Parser.write (/var/task/mysql/lib/protocol/Parser.js:43:10)
    at Protocol.write (/var/task/mysql/lib/protocol/Protocol.js:38:16)
    at Socket.<anonymous> (/var/task/mysql/lib/Connection.js:91:28)
    at Socket.<anonymous> (/var/task/mysql/lib/Connection.js:525:10)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    --------------------
    at Protocol._enqueue (/var/task/mysql/lib/protocol/Protocol.js:144:48)
    at Protocol.handshake (/var/task/mysql/lib/protocol/Protocol.js:51:23)
    at Connection.connect (/var/task/mysql/lib/Connection.js:119:18)
    at mysqlDB.init (/var/task/mysqlDB.js:17:13)
    at getWelcomeResponse (/var/task/index.js:64:19)
    at onLaunch (/var/task/index.js:263:5)
    at exports.handler (/var/task/index.js:328:13)
是我做错了什么,还是我遗漏了一个步骤?提前感谢您的帮助。

看起来用户或Xtech_Side没有被授予从主机ec2-3-85-146-115.compute-1.amazonaws.com访问数据库的权限。请确认一下

您可以授予用户访问主机的权限

GRANT ALL ON *.* to 'oryxtech_sideE'@'ec2-3-85-146-115.compute-1.amazonaws.com' IDENTIFIED BY 'password'; 
或任何主机:

GRANT ALL ON *.* to 'oryxtech_sideE'@'%' IDENTIFIED BY 'password'; 
参考:

希望这有帮助