2015-08-24 33 views
0

嘿傢伙我試圖從我朋友的wifi連接mysql數據庫。數據庫連接和工作正常,我所有的其他設備都在同一個網絡,但我想從外部網絡(我的朋友網絡)連接到數據庫。從外部網絡與Java的MySQL連接

我已經取代本地主機/設備的IP與我從whatsmyip.com

字符串的ConnectionURL = 「的jdbc:mysql的:// myPublicIp:3306 /試驗」 得到了我的公網IP地址;

,我跑從我朋友的家:

這是我的了:

com.mysql.jdbc.CommunicationException:通信鏈路故障是由於底層異常:

BEGIN嵌套EXCEPTION java.net.Connect.Exception MESSAGE:連接超時:連接

正如我所說沒有親b與代碼,它適用於本地連接的設備。我想知道我的字符串的語法是否錯誤。 假設我的公共IP地址是50.50.50.50,我的設備運行mysql是192.168.x.x,端口是3306我應該如何格式化我的字符串。 謝謝。

+0

檢查此鏈接:http://stackoverflow.com/questions/2318250/how-to-connent-to-a-remote-mysql-database-with-java –

回答

0

你應該將你的3306端口轉發給有數據庫的設備,否則當你通過這個端口請求連接時,你的路由器不能決定尋找哪個設備,它不會讓任何東西通過。

+0

我只是端口轉發3306,它仍然顯示相同錯誤。我檢查了端口是否打開,是否是。 –

+0

TCP?您的連接網址很好,它可以在您的網絡中運行,您的問題是無法通過此端口連接到您的IP。 – Fadamaka

+0

謝謝你的工作:D現在已經修復了端口轉發問題。 –