2012-04-14 89 views
0

我目前正在編寫一個Python腳本,它將數據上傳到本地MySql數據庫。我現在正在尋找將此MySql數據庫重定位到具有靜態IP地址的遠程服務器。我有一個虛擬主機設備,但是這隻允許客戶端連接到MySql數據庫,如果我指定客戶端將連接的域/ IP地址。我的Python腳本將運行在多臺將通過移動寬帶加密狗連接的計算機上,因此,由於IP地址是動態分配的,所以IP地址將日常變化。遠程訪問MySql數據庫(託管選項)

有關如何通過我的網站託管設施(cPanel)解決此問題的任何建議,或者任何有關允許從任何IP地址進行遠程訪問的MySql託管服務的建議(假設它們已成功通過密碼驗證等) SSH可能會解決這個問題,並允許我傳輸數據?

+0

爲什麼你的Python腳本不能連接到一個連接到MySQL的服務器?讓任何IP與數據庫交談並不是一個好主意。 – 2012-04-14 21:11:30

+0

我同意你的觀點,並不安全,但是如果連接到mysql的服務器改變IP動態,你需要允許所有的IP或每次改變時手動更新IP。 – 2012-04-14 21:15:19

+0

如果它改變IP,它是什麼類型的服務器?主持在家庭連接? – 2012-04-14 22:31:38

回答

2

去交友,並添加通配符%遠程MySQL連接選項(的cPanel>遠程MySQL)

1

你另一種選擇是從你的筆記本電腦供應商獲得一個動態DNS地址。基本上,您安裝了一小段軟件,用您當前的IP更新外部系統。然後,您可以在您的mysql用戶訪問中使用域名而非IP,服務器將執行域名查詢並授予您訪問權限,而無需打開您的mysql服務器以連接來自地球上每臺服務器的連接,如你會基於Gabriel的解決方案來做。 Dyndns是一家提供此項服務的公司。

你也可以使用SSH和隧道你的會話。您只需設置本地客戶端爲3306端口執行端口轉發,設置您的ssh連接,並連接到本地主機,您的腳本就好像在本地連接一樣。雖然安裝稍微複雜一點,但透明度較差,這是一個非常棒的解決方案。假設命令行SSH客戶端:

ssh -L 3306:domain_or_ip_mysqlserver:3306 [email protected] 

mysql -u username -p -h localhost databasename 
+0

它的工作原理 - 我使用相同的方法。 – marlar 2014-01-23 23:05:19

0

正如gview所說,我動態DNS服務是一個可能的解決方案。 DynDns可以很好地工作,但更實惠的解決方案是ZoneEdit.com。我使用ZoneEdit處理託管在具有動態IP(有線調制解調器)的Windows Server框中的多個域。我有一個不斷輪詢IP地址更改的Windows服務。當服務檢測到更改時,它會通知ZoneEdit。 ZoneEdit然後將請求重定向到新的IP。