MySQL-python 无法连接服务器

7 投票
2 回答
8266 浏览
提问于 2025-04-16 11:04

这让我快疯了。

我在Vista上安装了Python 2.5和从这里下载的MySQL-python-1.2.3的.exe文件。

过去几周我一直在制作.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是否在服务中运行。我查看了我的MySQL配置文件my.ini,确认它在3306端口上运行。我甚至卸载并重新安装了MySQL 5.1。我在谷歌上阅读了好几页关于连接问题的内容和解决方案,但都没有找到答案。一定是我忽略了什么简单的东西,但有没有人有更多的想法呢?

2 个回答

0

确保你在防火墙中打开了TCP端口3306,以便可以进行连接。

另外,可以看看这个问题 无法连接到'localhost'上的MySQL服务器 (10061)

15

我不太用Windows版本(我大部分相关经验都是在Linux上),但我敢打赌,如果你把localhost换成127.0.0.1,应该是可以工作的。

编辑:-- 这里稍微解释一下。

首先,检查一下mysql.user表里的条目,看看host字段(虽然默认情况下,你可能会看到root有三个条目,基本上覆盖了所有情况)。最有可能的问题是,MySQL服务是监听在127.0.0.1:3306,而不是localhost:3306,而你的hosts文件或其他路由配置没有被Python解释器正确调用。

撰写回答