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服务器[重复]

SQL SERVER2008无法连接到服务器

无法连接到数据库服务器 [1040]啥意思

如何解决SQL Server 2008 无法连接到

连接网站显示数据库错误:无法连接到数据库:无法连接到MySQL?

为啥我的手机显示无法连接到服务器