PHP MySQLi查询-“权限被拒绝”


PHP MySQLi query - "Permission denied"

我使用PHP MySQLi连接到MySQL,有时做查询我得到错误:

"Permission denied"错误码:2002.

奇怪的是,它发生在不同的查询和完全不可预测的。例如,它可能发生在前两个查询正确执行后的第三个查询。

我知道这不是MySQL的问题,因为我把它从一个服务器移动到另一个服务器,问题仍然存在。最可能的问题是PHP或PHP和MySQL服务器之间的互连(它们在不同的机器上)

有人有想法吗?

编辑:
查询什么得到"权限被拒绝"工作,如果我重新启动脚本-它不是权限问题

错误:

[23-Apr-2011 19:00:02] PHPmysqli: mysqli () [mysqli.mysqli]:[2002]拒绝许可(试图)通过tcp://xxx.xxx.xxx.xxx: 3306)/home/……/db .php第19行
[23-Apr-2011 19:00:02] PHP警告:mysqli: mysqli () [mysqli.mysqli]:(HY000/2002):禁止进入/home/……/db .php第19行

同样的事情也发生在我的环境中。原因是SELinux。

您可以通过从命令行执行php来连接数据库而你可能不会在web服务器上执行。

在我的例子中,我关闭了SELinux。

# setenforce 0

或者必须正确设置SELinux

我认为数据库用户没有足够的权限对特定的mysql表进行特定的操作

这不是权限错误。客户端无法连接到数据库,更不用说对用户进行身份验证了。

我怀疑这些问题是由网络问题(阻止客户端/服务器机器相互通信)或MySQL服务器进程未在远程主机上运行引起的。

错误代码记录在这里:http://dev.mysql.com/doc/refman/5.5/en/can-not-connect-to-server.html

检查通过

连接的用户的权限