StackOverflow上也有类似的问题,但我还没有发现完全相同的情况。这是在使用 MySQL 的 OS X Leopard 机器上
一些起始信息:
MySQL Server version 5.1.30
Apache/2.2.13 (Unix)
Python 2.5.1
mod_wsgi 3
mysqladmin 还将跳过网络列为关闭
我可以从 python 命令行连接到 mysql。但是当我尝试使用复制和粘贴的代码通过 mod_wsgi 或通过 Django 执行此操作时,我收到通用连接拒绝
OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (49)")
我查看了 mysql 手册并尝试了其故障排除提示,例如
telnet localhost 3306
and I do建立连接。
I am not也尝试以 root 身份连接。
关于我还可以检查什么的任何想法?
提前致谢!
我遇到了这个错误,这是由于 SELinux 拒绝造成的。 /usr/bin/httpd 没有权限连接到端口 3306。我用以下方法纠正了该问题:
setsebool httpd_can_network_connect_db on
看起来效果很好,而且应该比仅仅禁用 SELinux 更安全。正如 Avinash Meetoo 下面指出的,您可以使用:
setsebool -P httpd_can_network_connect_db
使 selinux 更改在重新启动后仍然存在。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)