我正在尝试通过R连接到MySQL服务器,它与以下代码配合得很好:
con <- dbConnect(MySQL(), user="user", password="password",dbname="dbname", host="localhost", port=3306)但是,我想使用cnf文件,这样我的用户/apssword凭据就不会出现在我的代码中,并尝试了以下方法:
rmysql.settingsfile<-"mydefault.cnf"
rmysql.db<-"test_db"
drv<-dbDriver("MySQL")
con<-dbConnect(drv,default.file=rmysql.settingsfile,group=rmysql.db) 这是我的cnf文件的样子:
[test_db]
user=user
password=password
database=dbname
host=localhost
port=3306它与我的R脚本中的文件夹相同,这是我当前的工作目录。但是,我遇到了以下错误:
Error in mysqlNewConnection(drv, ...) :
RS-DBI driver: (Failed to connect to database: Error: Access denied for user 'ODBC'@'localhost' (using password: NO)
)有什么建议吗?
非常感谢
发布于 2015-01-14 22:57:12
我最近遇到了这个问题。RMySQL在根目录中查找这些文件,因此您需要完全限定文件的位置。即:
rmysql.settingsfile<-"/home/MD-Tech/mydefault.cnf“或rmysql.settingsfile<-"c:\Users\MD-Tech\rfiles\mydefault.cnf”
发布于 2016-07-08 12:48:47
有两件事可能正在发生。
CNF文件需要加密,密码应该是password =*。MySQL documentation展示了如何创建CNF文件。下面的代码可以用来创建CNF
shell> mysql_config_editor set --login-path=test_db --host=localhost --user=user --password在不键入密码的情况下按enter,系统将提示您输入密码
第二件事是src_mysql documentation中引用的user = NULL和password = NULL缺失
rmysql.settingsfile <- "~/.mylogin.cnf"
rmysql.db <- "test_db"
drv <- dbDriver("MySQL")
con <- dbConnect(drv, default.file = rmysql.settingsfile, group = rmysql.db, user = NULL, password = NULL)当您添加这些并运行代码时,您应该设置。
发布于 2016-09-27 21:27:32
Fing something at:https://www.r-bloggers.com/mysql-and-r/
Not in configuration file... but work.
con <- dbConnect(MySQL(),
user="me", password="nuts2u",
dbname="my_db", host="localhost")https://stackoverflow.com/questions/25083833
复制相似问题