【发布时间】:2016-06-14 08:38:48
【问题描述】:
我有以下问题。
背景:
- 我想连接到 MySQL 数据库并将表下载到 R 中。
- 数据库(MySQL 提示符)只能通过 SSH 隧道访问另一台服务器。
- 我在 MacBook Pro (2015) 上使用 Mac OSX El Capitan。
问题:
从“终端”,我可以轻松地通过 SSH 连接到服务器,然后进入 MySQL 提示符并运行我需要的查询。
但是,我无法在 RStudio 中执行后面的任务。
我试过的代码是:
> system('ssh -f <server_user>@<server_ip> -N sleep 20')
> db <- dbConnect(MySQL(), host="hostname", user="username", pwd="password", dbname="databasename", port=3306)
> sql1 <- paste("SELECT * FROM databasename.tablename", sep="")
> results <- dbGetQuery(con, sql1)
> dbDisconnect(con)
虽然我可以从ps -A | grep ssh 看到 ssh 进程正在运行(我希望它运行 20 秒),并且在 R 中命令正常执行(不等待更多输入),但我无法连接到相关数据库.错误消息是“无法连接”的结果,并且 RStudio 在错误出现之前至少会挂起一分钟。
问题:
怎么做 (1) 结合使用SSH (2)远程服务器上的MySQL到 (3) 将表直接加载到 R 数据框中?
谢谢。
【问题讨论】: