MySQL-python 无法连接到服务器
Posted
技术标签:
【中文标题】MySQL-python 无法连接到服务器【英文标题】:MySQL-python Cannot connect to server 【发布时间】:2011-06-19 18:14:18 【问题描述】:这快把我逼疯了。
我在 Vista 上安装了来自 .exe 的 Python 2.5 和 mysql-python-1.2.3 here。
在过去的几周里,我一直在制作.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 配置,它在端口 = 3306 上运行。我什至卸载并重新安装了 MySQL 5.1。我在谷歌上阅读了几页连接问题和答案,但没有产生任何结果。一定是我忽略了一些简单的事情,但是有人有更多想法吗?
【问题讨论】:
这也让我发疯了...***.com/search?q=cannot+connect+to+mysql 介意再次检查端口???默认端口是 3306 还是 10061? 【参考方案1】:不要使用 windows 版本(我所有的相关经验都在 Linux 上),但我敢打赌,如果你使用 127.0.0.1
代替 localhost
,它会起作用。
编辑:-- 一点解释。
首先,检查mysql
.user
表中的条目host
字段(尽管默认情况下,您可能有三个根条目,涵盖所有基础)。很可能,您的问题是由于 MySQL 服务正在侦听 127.0.0.1:3306,而不是 localhost:3306,并且您的 hosts
文件或其他路由配置没有被 python 解释器正确调用。
【讨论】:
哇。我本可以发誓我读过有人说使用“localhost”从地址更改到的地方,所以我从未尝试将其更改为 127.0.0.1。然而,这似乎奏效了! (至少现在它返回了我的 MySQL 语法本身的错误,我必须弄清楚。)我不确定它为什么会起作用,因为查看 mysql.user 表,选择主机只会返回 localhost。非常感谢你!我应该早点问,为自己节省了 3 个小时。 检查我答案的第二部分——这将与路由有关【参考方案2】:确保您已在防火墙中打开 TCP 端口 3306 以进行连接。
也看到这个问题Can't connect to MySQL server on 'localhost' (10061)
【讨论】:
啊,我应该说我什至完全禁用了我的防火墙,试图让它也能正常工作。不过还是谢谢你的建议。以上是关于MySQL-python 无法连接到服务器的主要内容,如果未能解决你的问题,请参考以下文章
无法使用php连接错误连接到mysql:无法连接到'localhost'(10061)上的MySQL服务器[重复]