2009-06-22 90 views
2

我使用上面提到的Python lib連接到MySQL服務器。到目前爲止,我在本地工作,一切工作正常,直到我意識到我將不得不在網絡中使用我的程序,所有訪問都通過代理。MySQLdb通過代理

現在是否有人可以設置由該lib管理的連接以使用代理? 或者:你知道另一個可以處理這個問題的Python的Python庫嗎?

我也不知道如果代理服務器將允許訪問標準的MySQL端口或我怎麼欺騙它允許它。幫助也是受歡迎的。

回答

2

我用ssh tunneling的那種問題。 例如,我正在開發一個連接到oracle數據庫的應用程序。

在我的代碼我寫來連接到本地主機,然後從shell我做的:

ssh -L1521:localhost:1521 [email protected] 

如果你在Windows下你可以使用PuTTY

0

您是否需要做任何特殊的事情才能通過代理連接?

我想你只是提供了connect函數的正確參數。從the documentation開始,看起來您可以使用參數connect指定主機名和端口號。

像這樣:

connection = connect(host="dbserver.somewhere.com", port=nnnn) 
# etc.. 
+0

我不確定,這是我第一次編寫應該通過代理訪問內容的代碼。我的猜測是我必須提供代理地址,有點像爲瀏覽器設置代理。 – 2009-06-22 15:24:59

+0

我建議您嘗試提供代理的地址作爲主機。詢問代理的管理員需要連接哪個端口號才能將流量轉發到數據庫服務器。它可能是默認的MYSQL端口號。 – codeape 2009-06-22 15:54:16

1

這裏有很多不同的可能性。要獲得明確的答案,唯一的方法是與運行代理的人交談。

如果這是一個Web應用程序,並且Web服務器和數據庫服務都位於代理的另一端,那麼根本不需要連接到MySQL服務器,因爲Web應用程序會爲它您。