首页 > 解决方案 > R 使用 RMariaDB 无法连接 .mylogin.cnf

问题描述

我正在 RStudio 中开发一个脚本,它使用 R 包 RMariaDB 连接到本地 MySQL 服务器(不是 RMySQL - 出于其他原因,尽管结果是相同的)。

我可以通过将密码存储在脚本中来进行连接,例如:

localuserpassword <- "password"

all_projectsDb <- dbConnect(RMariaDB::MariaDB(), user='user', password=localuserpassword, dbname='projects', host='localhost')

或通过 .my.cnf 使用凭据:

[client]
[mygroup]
host=127.0.0.1
user=user
password=password
port=3306
database=projects

和R代码为

settingsfile = '/Users/oscar_w/.my.cnf'

all_projectsDb <- dbConnect(RMariaDB::MariaDB(), default.file = settingsfile, group="mygroup", dbname = 'projects') 

上面的工作很好,但是如果我想连接在 mysql_config_editor 中创建的 .mylogin.cnf 并且看起来像

[client]
[mygroup]
user = user
password = *****
host = 127.0.0.1
port = 3306

使用 R 脚本代码,例如

# define location of config file
settingsfile = '/Users/oscar_w/.mylogin.cnf'

all_projectsDb <- dbConnect(RMariaDB::MariaDB(), default.file = settingsfile, group="mygroup", dbname = 'projects', password = NULL, user = NULL)

我得到错误

Error: Failed to connect: Access denied for user 'root'@'localhost' (using password: NO)

我尝试了各种表达 null 或其他参数的参数组合。并使用带有双引号的 mysql_config_editor 输入了我的密码。在https://cran.r-project.org/web/packages/RMariaDB/RMariaDB.pdf它指定使用 .mylogin.cnf 但我找不到让它工作的方法。有谁知道这个问题的解决方案或有同样的问题?谢谢

标签: mysqlrconfiguration-filesmy.cnfrmariadb

解决方案


推荐阅读