我正在运行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驱动程序:(无法连接到数据库:错误:无法通过套接字'/tmp/mysql.sock'(2)连接到本地MySQL服务器”,无论我是否使用单引号(建议在其他位置),将用户和/或密码更改为“root”或“”,或将“127.0.0.1”替换为“localhost”。如果我在R命令中将服务器主机替换为主机,则被告知无法访问服务器(确实如此,它被配置为只能通过ssh访问)。

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

请您参考如下方法:

我从未做过此事,但我假设您可以使用SSH隧道传输适当的端口,如此处所述:http://www.howtogeek.com/howto/ubuntu/access-your-mysql-server-remotely-over-ssh/

简而言之,您将:

  • 通过SSH隧道传输适当的端口,默认情况下为
    适用于MySQL的3306。
  • 使用dbConnect()以以下方式连接到MySQL服务器
    如果它在您的本地计算机上。

  • 这样就无需使用Sequel Pro。隧道实际上允许本地3306端口上的流量通过本地计算机和服务器之间的端口22上的SSH连接进行隧道传输,然后转发到服务器上本地的3306端口。


    评论关闭
    IT序号网

    微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!