2017-10-19 80 views
0

我想從R連接到我公司的MySQL數據庫,但不允許在我的代碼中保留用戶名和密碼,所以我創建了一個.my .cnf文件。我.my.cnf文件看起來像這樣(密碼,dbname和主機名調整):使用RMySQL和.my.cnf文件連接到數據庫R

[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) 

這是一個痛苦,這是行不通的。起初,我寫了我的用戶名和密碼傳遞給數據庫連接()函數,像這樣的代碼,並連接到數據庫運行良好:

my_connection <- dbConnect(
    MySQL(), 
    user="admin-read", 
    dbname="dbname", 
    host="myhost.us-west-2.rds.amazonaws.com", 
    password="mypassword" 
) 

...而這樣的連接效果不錯。

任何有關錯誤的幫助,以及我如何解決這個問題,將不勝感激。謝謝!

回答

0

確保您的* .conf文件擁有所有的語法好吧:

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