2016-05-13 217 views
0

我在OSX上使用RStudio,並有一個運行Ubuntu的本地虛擬機。我遇到了RMySQL連接到通過ssh在本地虛擬機上運行的mysql的問題。我曾嘗試透過通過ssh隧道的RMySQL

ssh -L 3307:d.local.internal.com:3306 [email protected] 

,隨後在R下面的轉發端口3307

con <- dbConnect(RMySQL::MySQL(), host = "127.0.0.1", user = "root", password = "pass", port=3307) 

我仍然得到

Error in .local(drv, ...) : Failed to connect to database: Error: Can't connect to MySQL server on '127.0.0.1' (57) 

任何想法?我能夠通過SequelPro使用相同的ssh和mysql憑證成功連接。

+0

嘗試'telnet'到該主機上的端口,看看是否有效。 – Gopala

回答

0

嘗試 ssh -L 3307:localhost:3306 [email protected]

我敢打賭d.local.internal.com無法解析主機名d.local.internal.com,因爲您可能沒有在d.local.internal.com DNS條目d.local.internal.com使用的DNS服務器或者/ etc/hosts條目。

此外,您不需要將本地端口設置爲3307,即可使用3306,前提是您的主機上的3306上沒有任何內容正在偵聽。