【问题标题】:connecting to database using RMySQL and .my.cnf file in R在 R 中使用 RMySQL 和 .my.cnf 文件连接到数据库
【发布时间】:2023-03-16 17:27:01
【问题描述】:

我正在尝试从 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"
)

...并且以这种方式连接工作正常。

任何有关该错误的帮助以及如何解决此问题,我们将不胜感激。谢谢!

【问题讨论】:

    标签: mysql r rmysql


    【解决方案1】:

    确保您的 *.conf 文件具有正确的所有语法:

    [wp]
    user=wordpress
    port=3306
    password=xxxxxxxxxx
    host=127.0.0.1
    database=test
    

    【讨论】:

    • 在哪里可以找到有关有效 *.conf 文件语法的文档?
    猜你喜欢
    • 2015-01-28
    • 2011-07-22
    • 1970-01-01
    • 2019-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    • 1970-01-01
    相关资源
    最近更新 更多