连接失败:用户拒绝访问 - MySQL AWS RDS 中托管的数据库

Failed to connect: access denied for user - MySQL DB hosted in AWS RDS

我正在尝试连接到托管在 AWS 中的 MySQL 数据库以获得闪亮的仪表板,但没有成功。它抛出错误 Access denied for user:

抱歉,我无法生成 reprex,因为我无法控制 aws 基础设施。非常感谢任何有关从 R 调试云端数据库连接的建议。

这里是 R 代码:

con <- DBI::dbConnect(RMariaDB::MariaDB(),
                  host     = "xxxxx.eu-west-1.rds.amazonaws.com",
                  dbname   = "my_schema",
                  user     = "my_user",
                  password = "my_pw",
                  port     = 3306)

我知道我可以从我的 ip 连接到主机,因为我可以从 Power BI 和 Python.

访问数据库

来自 Power BI:

来自python:

import mysql.connector as mysql
from tabulate import tabulate

HOST = "xxxxx.eu-west-1.rds.amazonaws.com"
DATABASE = "my_schema"
USER = "my_user"
PASSWORD = "my_pw"
db_connection = mysql.connect(host=HOST, database=DATABASE, user=USER, password=PASSWORD)

cur = db_connection.cursor(buffered=True)

cur.execute("SELECT * FROM my_table")

rows = cur.fetchall()

print(tabulate(rows, headers=cur.column_names))

我必须解决这个从我的 Windows 10 本地电脑到 Ubuntu 服务器的更改。在 Ubuntu 中,连接轻而易举。 运行 这个之前 install.packages("RMariaDB"):

sudo apt install libsodium-dev
sudo apt install libxml2-dev
sudo apt install libmariadbclient-dev