我正在运行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访问的数据库的正确用户,密码和主机是什么?
答案 0 :(得分:2)
我从来没有这样做过,但我假设您可以使用SSH来隧道传输相应的端口,如下所述:http://www.howtogeek.com/howto/ubuntu/access-your-mysql-server-remotely-over-ssh/。
简而言之,您会:
dbConnect()
连接到MySQL服务器
如果它在你的本地机器上。这绕过了对Sequel Pro的需求。隧道本质上允许本地3306端口上的流量通过本地计算机和服务器之间端口22上的SSH连接进行隧道传输,然后转发到服务器本地端口3306。