2009-06-22 75 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应用程序会为它您。