通过RMySQL连接到续集专业版数据库远程服务器

时间:2012-04-18 17:52:36

标签: r ssh database-connection rmysql sequelpro

我正在运行Sequel Pro 0.9.9.1并且可以连接到仅允许SSH连接的服务器上托管的远程mySQL(v 14.14)数据库。当我通过Sequel Pro连接时,我只需要填写ssh用户和密码即可顺利连接。我能够以这种方式访问​​所有数据库。

然后我尝试使用RMySQL(0.9-3)连接到R(2.14.0)中的数据库,但此命令失败:

conn <- dbConnect(MySQL(), user="ssh_user", password="ssh_password", host="localhost")

错误:“RS-DBI驱动程序:(无法连接到数据库:错误:无法通过套接字连接到本地MySQL服务器'/tmp/mysql.sock'(2)”无论我是否使用单个引号(在别处建议),将用户和/或密码更改为“root”或“”,或者将“127.0.0.1”替换为“localhost”。如果我在R命令中将服务器主机替换为主机,我被告知我无法访问服务器(这是真的,它配置为只能通过ssh访问)。

用这种方式通过Sequel Pro连接到通过ssh访问的数据库的正确用户,密码和主机是什么?

1 个答案:

答案 0 :(得分:2)

我从来没有这样做过,但我假设您可以使用SSH来隧道传输相应的端口,如下所述:http://www.howtogeek.com/howto/ubuntu/access-your-mysql-server-remotely-over-ssh/

简而言之,您会:

  1. 通过SSH隧道传输相应的端口,默认情况下是这样 3306 for MySQL。
  2. 使用dbConnect()连接到MySQL服务器 如果它在你的本地机器上。
  3. 这绕过了对Sequel Pro的需求。隧道本质上允许本地3306端口上的流量通过本地计算机和服务器之间端口22上的SSH连接进行隧道传输,然后转发到服务器本地端口3306。