我使用PHP MySQLi连接到MySQL,有时做查询我得到错误:
“权限被拒绝”错误代码:2002。
奇怪的是,它发生在不同的查询中,完全不可预测。例如,在前两次正确执行后,它可能会在第三个查询中发生。
我知道这不是MySQL的问题,因为我将它从一台服务器转移到另一台服务器,问题仍然存在。很可能是PHP的问题或PHP和MySQL服务器之间的互连(它们在不同的机器上)
有人有想法吗?
编辑:
查询什么获得“权限被拒绝”工作,如果我重新启动脚本 - 它不是权限问题
ERROR:
[23-Apr-2011 19:00:02] PHP警告: mysqli :: mysqli()[mysqli.mysqli]: [2002]许可被拒绝(试图 通过连接 tcp://xxx.xxx.xxx.xxx:3306)in 第19行/home/.../DB.php
[23-Apr-2011 19:00:02] PHP警告: mysqli :: mysqli()[mysqli.mysqli]: (HY000 / 2002):许可被拒绝 第19行/home/.../DB.php
答案 0 :(得分:13)
我的环境也发生了同样的事情。原因是SELinux。
您可以通过从命令行执行php来连接数据库 而你可能不会在网络服务器上执行。
就我而言,我关闭了SELinux。
# setenforce 0
或者您必须正确设置SELinux。
答案 1 :(得分:0)
我认为数据库用户没有足够的权限在特定的mysql表上进行特定的操作。
答案 2 :(得分:0)
这不是权限错误。客户端无法连接到数据库,更不用说尝试对用户进行身份验证了。
我怀疑这些问题是由网络问题(阻止客户端/服务器机器相互通信)或MySQL服务器进程未在远程主机上运行引起的。
错误代码记录在此处:http://dev.mysql.com/doc/refman/5.5/en/can-not-connect-to-server.html
答案 3 :(得分:-2)
检查您通过
连接的用户的权限