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

时间:2011-04-24 07:14:01

标签: php mysql mysqli

我使用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

4 个答案:

答案 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)

检查您通过

连接的用户的权限