2011-04-21 156 views
1

我只是在我的PC上設置了一個MySQL服務器,用於使用JDBC測試Java。 目前「localhost」完美地作爲我的應用程序的主機名,當在同一個系統上運行它們時。什麼是我的本地MySQL服務器上的主機名?

但是,對於運行在不同計算機上的應用程序,我的MySQL服務器的主機名是什麼?像「my_ip:port」可以工作嗎?我正在考慮編寫一個小程序,我可以在Web服務器上上傳並在此嘗試連接到我的數據庫。這有可能實現嗎?

回答

1

類似「my_ip:port」會起作用嗎?

如果MySQL實例已綁定到您的公共接口,並且您的防火牆允許,那麼是的。如果您通過一臺執行NAT的路由器連接到網絡(例如,一個組合DSL調制解調器和無線路由器允許您連接多臺計算機),則必須在路由器中設置轉發規則以告訴它哪個本地機器轉發請求。

您不必使用IP地址。您的機器也可能具有某種主機名(您分配的一個主機名,或者如果通過ISP連接,則更可能是他們分配的主機名)。這也會起作用。

我正在考慮編寫一個小程序,我可以上傳到Web服務器上並嘗試連接到我的數據庫。這有可能實現嗎?

signed Java applet,是的;否則,不。這是因爲Java applet運行的安全沙箱不允許他們訪問除了從其加載的服務器(Web服務器)以外的服務器。

更好的方法是讓您的客戶端代碼(Java applet或僅DHTML + Ajax內容)與Web服務器上的服務器端代碼進行對話,然後再與您的數據庫進行對話。這樣,數據庫永遠不會直接暴露於外部世界,而且您不必像簽名的小應用程序那樣進行操作。

1

您始終可以使用運行mysql的服務器的IP地址作爲主機名或其完全限定的域名。

+0

使用mysql - 並非總是如此。如果在MySQL配置中關閉網絡支持,則只需使用本地套接字,而不是主機名或FQN – zerkms 2011-04-22 04:55:37

0

這應該可行,但你也應該考慮通過防火牆進行端口轉發。

轉到這裏來獲得你的IP:http://www.whatsmyip.org/

的端口就是MySQL的是安裝程序。

相關問題