2017-08-27 12 views
-2

我想澄清一些事情。我在我的遠程虛擬機上安裝了mysql客戶端,運行在Ubuntu 16.04上,目標是從R內部訪問數據庫,但我一直在嘗試使用mysql,例如:mysql -u root -p -h fe80::883f:XXXX:XXX:XXXXX -P 3306其中「XXX」我試過每個ip地址我獲得在Windows命令行發出命令ipconfig時如何從雲實例(最好從R內)訪問筆記本電腦上的MySQL服務器中的數據庫?

爲了縮小我的疑難解答我想幾個指針:

  1. 我需要給IP地址在我的遠程(雲)實例mysql配置文件(因此在安裝了mysql服務器的dir中的windows中找到my.cnf或其等價物並綁定rem的地址ote/cloud VM我試圖從我的筆記本電腦上訪問數據庫)。

2 SSL,要啓用這個東西,需要?

另外,從Windows上的Ubuntu上的Bash(WSL)我可以使用mysql -u root -p'xxx'-h'登錄到mysql服務器,即從windows命令行ipconfig輸出的IP地址被稱爲「Link本地IPv6地址「。在閱讀了幾篇文章後,使用我的想象力(這讓我陷入了疑難解答),我覺得在MySQL服務器的某個配置文件中,dir必須爲遠程虛擬機「綁定地址」(我通過我的putty訪問筆記本電腦),正在思考正確的道路?

至於權限root用戶在MySQL服務器,我相信我已經給每根權限(下面顯示): enter image description here

+2

您可以輕鬆地與R使用JDBC做到這一點:https://www.rforge.net/RJDBC/ – duffymo

+0

謝謝該份額讓我在一分鐘內嘗試這一點,並希望我能成功。 –

+0

@duffymo我開始學習OBDC連接和設定,JDBC是類似的工具。我希望我的問題是有道理的,但基本上我的第一個失敗是我在Windows機器上配置了DSN連接,並且正在尋找一種方法從遠程Linux機器連接到它。然後,我想起我 - 我的遠程計算機上需要連接到Windows機器上的數據庫的obdc dsn連接設置。我正試圖以此方式設置它,但如果你能幫助我進一步清除問題,我將非常感激 - 真誠地感謝你。 –

回答

0

我解決了我的問題,可以從我的筆記本電腦上遠程訪問MySQL服務器(我使用putty訪問如下: in putty首先使用3307作爲源,檢查遠程單選按鈕,將目標設置爲localhost:3306,在VM的Bash提示: 的mysql -u根-p -h '127.0.0.1' -P 3307

或者從Linux的(我用WSL)Bash提示符:

#從Windows的Linux訪問遠程虛擬機子系統(WSL) ssh -R 3307:localhost:3306 [email protected]。我的筆記本電腦從猛砸21次

##訪問MySQL服務器在WSL 的mysql -u根-p -h'127.0.0.1' -P 3307

  • 從這裏它不是很難搞清楚提示上如何在R中訪問它;我們已經邁出了遠程端口,我們使用相同的參數R.

2

如果你打算使用RJDBC包,你到堅持JDBC。 ODBC可能是「一封信」,但它不是一回事。

你需要幾件事情必須到位:

  1. 你的Windows機器上的數據庫必須要運行,從Linux機器上可見,並有一個可用的JDBC驅動程序JAR,可以讓你連接到它。如果你告訴我你的數據庫是Microsoft Access,那麼你就完成了。沒有用於Access的免費JDBC驅動程序。
  2. 您必須在Linux機器上擁有您的數據庫的JDBC驅動程序JAR,其中R將用來查找它的CLASSPATH
  3. 您需要在Linux機器上安裝JDK。我建議你安裝比版本8更早的東西。

一旦這個到位,它應該很容易。我已經完成了。

+0

非常感謝。這給了我一些東西。 –

+0

@duffmo當你說我的Db在windows上應該可以從Linux機器上看到,這意味着我應該從谷歌搜索開始「使用JDBC連接到遠程MySQL數據庫」,對嗎? –

+0

這意味着你應該得到MySQL JDBC JAR,把它放在R可以找到的地方,然後用URL,用戶名和密碼進入R,看看R是否可以連接。你讓這太難了。閱讀RJDBC文檔並嘗試。 – duffymo

相關問題