2015-10-03 39 views
0

我有一個我用Java製作的小程序,並打算讓它在任何下載到的計算機上運行。這個程序的一部分連接到我的本地主機上運行的MySQL數據庫。但是,因爲我希望這能夠在任何連接到互聯網的計算機上流暢運行,所以可能有必要讓我的程序通過互聯網連接到數據庫。目前,我的程序連接到這樣的數據庫:如何將SQL數據庫連接到Internet?

Connection con = DriverManager.getConnection("jdbc:mysql://my_public_ip/name_of_database", "user", "user_password"); 

命名爲「用戶」我的數據庫的用戶擁有一臺主機的「%」,我的理解是指任何主機。但是,當我在連接到另一個網絡的計算機上運行該程序時,我的通信鏈路出現故障。僅供參考,我使用xampp軟件來管理我的數據庫。提前感謝您對此事的任何幫助。

+0

第一關在您的故障排除您的應用層。你可以下載一個MySQL客戶端到另一臺機器,並從另一臺機器連接到你的服務器?然後你只有兩個維度來診斷,網絡和MySQL。 –

回答

0

您需要在路由器上設置端口轉發,以便在端口3306上連接到家庭網絡的連接將在運行mysql數據庫的情況下轉發到您的計算機。

4

你需要確保你的公網IP是靜態的,您的內部IP是靜態的,端口轉發端口3306和您的防火牆允許端口3306

遠程連接我不會推薦它雖然, 除非你確切知道你在做什麼因爲如果你犯了一個錯誤,打開一個(Windows)電腦到互聯網可能是相當危險的。 爲什麼(幾乎)所有數據庫只能通過本地主機訪問是有原因的。

我有一個覆盆子pi在家裏託管,我可以說有很多可能出錯。 錯誤的端口轉發可能會導致您的網絡被劫持。錯誤的IP配置會導致計算機劫持和反應可能性問題。當然,你可以在發現的端口上隨機進行端口掃描和暴力破解。

如果你真的想這樣做,我會建議你獲得一定的知識水平,讓你可以設置這樣的事情而不需要求助。

如果出了問題,就可以去錯了非常,非常糟糕...

+0

我想在學校設置服務器,讓程序在localhost訪問它。 – user5404945

+0

無論端口轉發和IP配置如何,這都可以工作。 – x13