我只是在我的PC上設置了一個MySQL服務器,用於使用JDBC測試Java。 目前「localhost」完美地作爲我的應用程序的主機名,當在同一個系統上運行它們時。什麼是我的本地MySQL服務器上的主機名?
但是,對於運行在不同計算機上的應用程序,我的MySQL服務器的主機名是什麼?像「my_ip:port」可以工作嗎?我正在考慮編寫一個小程序,我可以在Web服務器上上傳並在此嘗試連接到我的數據庫。這有可能實現嗎?
我只是在我的PC上設置了一個MySQL服務器,用於使用JDBC測試Java。 目前「localhost」完美地作爲我的應用程序的主機名,當在同一個系統上運行它們時。什麼是我的本地MySQL服務器上的主機名?
但是,對於運行在不同計算機上的應用程序,我的MySQL服務器的主機名是什麼?像「my_ip:port」可以工作嗎?我正在考慮編寫一個小程序,我可以在Web服務器上上傳並在此嘗試連接到我的數據庫。這有可能實現嗎?
類似「my_ip:port」會起作用嗎?
如果MySQL實例已綁定到您的公共接口,並且您的防火牆允許,那麼是的。如果您通過一臺執行NAT的路由器連接到網絡(例如,一個組合DSL調制解調器和無線路由器允許您連接多臺計算機),則必須在路由器中設置轉發規則以告訴它哪個本地機器轉發請求。
您不必使用IP地址。您的機器也可能具有某種主機名(您分配的一個主機名,或者如果通過ISP連接,則更可能是他們分配的主機名)。這也會起作用。
我正在考慮編寫一個小程序,我可以上傳到Web服務器上並嘗試連接到我的數據庫。這有可能實現嗎?
用signed Java applet,是的;否則,不。這是因爲Java applet運行的安全沙箱不允許他們訪問除了從其加載的服務器(Web服務器)以外的服務器。
更好的方法是讓您的客戶端代碼(Java applet或僅DHTML + Ajax內容)與Web服務器上的服務器端代碼進行對話,然後再與您的數據庫進行對話。這樣,數據庫永遠不會直接暴露於外部世界,而且您不必像簽名的小應用程序那樣進行操作。
您始終可以使用運行mysql的服務器的IP地址作爲主機名或其完全限定的域名。
使用mysql - 並非總是如此。如果在MySQL配置中關閉網絡支持,則只需使用本地套接字,而不是主機名或FQN – zerkms 2011-04-22 04:55:37