在 R 中使用 RMySQL 和 .my.cnf 文件连接到数据库
connecting to database using RMySQL and .my.cnf file in R
我正在尝试从 R 连接到我公司的 MySQL 数据库,但不允许在我的代码中保留用户名和密码,因此我创建了一个 .my.cnf 文件。我的 .my.cnf 文件看起来像这样(密码、数据库名和主机名已调整):
[dbname]
username = admin-read
port = 3306
password = mypassword
host = myhost.us-west-2.rds.amazonaws.com
datasets = dbname
然后我 运行 R 中的以下代码(尝试)连接到数据库,并收到以下错误:
rmysql.settingsfile <- "~/.my.cnf"
rmysql.db <- "dbname"
drv <- dbDriver("MySQL")
con <- dbConnect(drv, default.file = rmysql.settingsfile, group = rmysql.db, user = NULL, password = NULL)
Error in .local(drv, ...) :
Failed to connect to database: Error: Access denied for user 'myname'@'ec2-publicip.us-west-2.compute.amazonaws.com' (using password: YES)
这是行不通的痛苦。最初,我用传递给 dbConnect() 函数的用户名和密码编写了我的代码,因此,连接到数据库工作正常:
my_connection <- dbConnect(
MySQL(),
user="admin-read",
dbname="dbname",
host="myhost.us-west-2.rds.amazonaws.com",
password="mypassword"
)
...以这种方式连接工作正常。
任何关于错误的帮助,以及我如何解决这个问题,将不胜感激。谢谢!
确保您的 *.conf 文件的所有语法都正确:
[wp]
user=wordpress
port=3306
password=xxxxxxxxxx
host=127.0.0.1
database=test
我正在尝试从 R 连接到我公司的 MySQL 数据库,但不允许在我的代码中保留用户名和密码,因此我创建了一个 .my.cnf 文件。我的 .my.cnf 文件看起来像这样(密码、数据库名和主机名已调整):
[dbname]
username = admin-read
port = 3306
password = mypassword
host = myhost.us-west-2.rds.amazonaws.com
datasets = dbname
然后我 运行 R 中的以下代码(尝试)连接到数据库,并收到以下错误:
rmysql.settingsfile <- "~/.my.cnf"
rmysql.db <- "dbname"
drv <- dbDriver("MySQL")
con <- dbConnect(drv, default.file = rmysql.settingsfile, group = rmysql.db, user = NULL, password = NULL)
Error in .local(drv, ...) :
Failed to connect to database: Error: Access denied for user 'myname'@'ec2-publicip.us-west-2.compute.amazonaws.com' (using password: YES)
这是行不通的痛苦。最初,我用传递给 dbConnect() 函数的用户名和密码编写了我的代码,因此,连接到数据库工作正常:
my_connection <- dbConnect(
MySQL(),
user="admin-read",
dbname="dbname",
host="myhost.us-west-2.rds.amazonaws.com",
password="mypassword"
)
...以这种方式连接工作正常。
任何关于错误的帮助,以及我如何解决这个问题,将不胜感激。谢谢!
确保您的 *.conf 文件的所有语法都正确:
[wp]
user=wordpress
port=3306
password=xxxxxxxxxx
host=127.0.0.1
database=test