Python和MySQLDB连接到网络上的另一台服务器

时间:2012-01-22 12:14:59

标签: python mysql

我正在编写一个在我的Windows机器上运行的Python应用程序,我正在尝试连接到Linux机器上的MySQL服务器。我在python中的linux盒子上本地编写代码并连接到MySQL数据库时没有遇到任何麻烦,但是当我尝试通过本地网络连接时,它失败了。

db = MySQLdb.connect(host="192.168.0.100", user="root", passwd="password", db="db")

我明白了:

  

_mysql_exceptions.OperationalError:(2003,“无法连接到'192.168.0.100上的MySQL服务器'(10061)”)

有关如何实现这一目标的任何想法?

1 个答案:

答案 0 :(得分:2)

这可能是MySQL配置问题。

确保MySQL正在侦听192.168.0.100(或0.0.0.0)而不是127.0.0.1。通过设置bind-address option来完成此操作。

出于安全考虑,建议创建一个与远程连接的单独用户,而不是使用root。然后从特定IP(-range):GRANT ... TO username@'192.168.0.%'授予其访问权限,假设您的本地IP位于192.168.0.0/24。

要检查的另一件事是确保您的防火墙允许访问/来自端口3306。