奇怪的MySQL Python mod_wsgi无法连接到“localhost”上的MySQL服务器(49)问题

2024-04-30 08:17:41 发布

您现在位置:Python中文网/ 问答频道 /正文

在StackOverflow上也有类似的问题,但我没有发现完全相同的情况。这是在一个使用MySQL的OS X Leopard机器上

一些起始信息:

MySQL Server version        5.1.30
Apache/2.2.13 (Unix)
Python 2.5.1
mod_wsgi 3

mysqladmin还将skip networking列为OFF

我可以从python命令行连接到mysql。但当我试图通过mod_wsgi使用复制粘贴的代码或通过Django来实现时,我收到了通用的连接拒绝

^{pr2}$

我看过mysql手册并尝试了它的故障排除技巧,比如

telnet localhost 3306

确实得到了联系。在

我也不想以根用户身份连接。在

还有什么我可以查的吗? 提前谢谢!在


Tags: 机器信息modwsgiserverosversionapache
3条回答

我在Django收到了完全相同的错误消息:

OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (49)")

为了解决这个问题,我必须在django设置文件中将mysql端口显式设置为3306。在

我遇到了这个错误,它是由于SELinux的否认。/usr/bin/httpd无权连接到3306端口。我纠正了这个问题:

setsebool httpd_can_network_connect_db on

似乎工作得很好,应该比禁用SELinux更安全。正如Avinash Meetoo在下面指出的,您可以使用:

^{pr2}$

使selinux更改在重新启动时保持不变。在

在这件事上不要太多。只是一个随机猜测,但尝试使用:

数据库主机=“本地主机” 而不是127.0.0.1

或者试着在你的我的.ini公司名称:

绑定地址127.0.0.1

值得一试。在

相关问题 更多 >