我正在编写一个在我的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)”)
有关如何实现这一目标的任何想法?
答案 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。