这让我发疯了。
我在Vista上安装的.exe可用here中安装了Python 2.5和MySQL-python-1.2.3。
过去几周我一直在制作.php
个页面并且连接正常,以便在我的浏览器中测试它们。
$dbcnx=@mysql_connect("localhost", "root", "mypassword")
我也一直在使用mysql命令行和
mysql.exe -uroot -pmypassword just fine.
但是,当我尝试将MySQLdb与
一起使用时conn = MySQLdb.connect(host = "localhost", user = "root", passwd = "mypassword")
我得到了
OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (10061)")
我已经检查过MySQL在服务中运行。我在my.ini中检查了我的MySQL配置,它在port = 3306上运行。我甚至卸载并重新安装了MySQL 5.1。我在谷歌上阅读了几页连接问题和答案,但没有任何结果。它必须是我忽视的简单事物,但有没有人有更多的想法?
答案 0 :(得分:15)
不要使用Windows版本(我所有的相关经验都在Linux上),但是如果你使用127.0.0.1
代替localhost
,我愿意打赌它会有效。
编辑: - 一点解释。
首先,检查mysql
。user
表中host
字段中的条目(尽管默认情况下,您可能有三个根用于所有基础的条目)。最有可能的是,您的问题是由于MySQL服务正在侦听127.0.0.1:3306,而不是localhost:3306,并且python解释器未正确调用您的hosts
文件或其他路由配置。
答案 1 :(得分:0)
确保已在防火墙中打开TCP端口3306以进行连接。