2

我可以使用以下 R 脚本成功连接到本地 MySQL 服务器:

library(RMySQL)

drv <- dbDriver("MySQL")
con <- dbConnect(drv, user="root", pass="myrootpass")
rs <- dbSendQuery(con, statement = "SHOW DATABASES;")
fetch(rs)

但是,我不希望我的密码出现在脚本中,因为它将保存在文件中!我正在使用 Ubuntu 13.10、MySQL 5.5.35、MySQL Workbench 6.0 和 R 3.0.1。

在工作中,我使用 Windows,并且可以使用以下行连接到无需密码即可访问的 SQL Server:

library(RODBC)
dbhandle<-odbcDriverConnect('driver={SQL Server};server=SomeServer;database=SomeDatabase;trusted_connection=true')

在这种情况下,似乎我以有权访问服务器的员工身份登录就足够了。

我想完成与此类似的事情 - 如何使用我的 Ubuntu 计算机连接到本地 MySQL 服务器?

4

2 回答 2

1

首先,创建以下 .csv 并将其命名为“database_credentials.csv”

user,password,dbname,host
your_user_name_here,your_password_here,your_database_address_aka_database_name_here,your_hostname_here

如果这是本地连接,则在上述 .csv 文件的主机字段中输入“localhost”

然后这样做

# R Script for
# CONNECTING TO DATABASE
  library(RMySQL)
  dbCredentialsFile <- read.csv("database_credentials.csv", stringsAsFactors = FALSE, header = TRUE)
  con <- dbConnect(MySQL(),
  user = dbCredentialsFile$user[1],
  password = dbCredentialsFile$password[1],
  host = dbCredentialsFile$host[1],
  dbname = dbCredentialsFile$dbname[1])
  rm(dbCredentialsFile)
  gc()

# FUNCTION FOR QUERYING DATABASE
  query <- function(...) dbGetQuery(con, ...)

# EXAMPLE FOR QUERYING DATABASE
  testDF <- query("SELECT * FROM name_of_table_in_database_to_retrive")
于 2017-07-04T08:14:58.273 回答
0

如此处所述,使用您的用户、密码等设置选项文件。

于 2014-02-21T01:54:31.530 回答