PHP MySQLi查询-“;“拒绝许可”;

PHP MySQLi查询-“;“拒绝许可”;,php,mysql,mysqli,Php,Mysql,Mysqli,Im使用PHP MySQLi连接到MySQL,有时执行查询时出错: “权限被拒绝”错误代码:2002 奇怪的是,它发生在不同的查询中,完全不可预测。例如,它可能发生在前两个查询正确执行后的第三个查询上 我知道MySQL没有问题,因为我将它从一台服务器移动到了另一台服务器,问题仍然存在。最可能的问题是PHP或PHP与MySQL服务器之间的互连(它们位于不同的机器上) 有人有主意吗 编辑: 如果我重新启动脚本,查询“权限被拒绝”的效果-这不是权限问题 错误: [23-Apr-2011 19:00:0

Im使用PHP MySQLi连接到MySQL,有时执行查询时出错:

“权限被拒绝”错误代码:2002

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

我知道MySQL没有问题,因为我将它从一台服务器移动到了另一台服务器,问题仍然存在。最可能的问题是PHP或PHP与MySQL服务器之间的互连(它们位于不同的机器上)

有人有主意吗

编辑:
如果我重新启动脚本,查询“权限被拒绝”的效果-这不是权限问题

错误:

[23-Apr-2011 19:00:02]PHP警告: mysqli::mysqli()[mysqli.mysqli]: [2002]权限被拒绝(试图 通过连接 tcp://xxx.xxx.xxx.xxx:3306)在 /第19行的home/../DB.php
[23-Apr-2011 19:00:02]PHP警告: mysqli::mysqli()[mysqli.mysqli]: (HY000/2002):年拒绝许可 /第19行的home/../DB.php


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

检查您通过连接的用户的权限这不是权限错误。客户端无法连接到数据库,更不用说尝试验证用户了

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


错误代码记录在这里:

在我的环境中发生了相同的事情。原因是塞利努克斯

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

就我而言,我关闭了SELinux

# setenforce 0

或者您必须正确设置SELinux。

请在此处输入完整的错误消息。可能是超时,还是ddos保护?但如果是超时,我是否会收到“超时”错误?请参阅线程。我也遇到过同样的问题,但这个线程为我解决了。我知道这个问题的答案比这个问题的答案要新,但是这里的答案提供了一个更好的方法来解决SELinux干扰数据库连接的问题,而不仅仅是禁用它。但是如果没有权限,我将无法运行其他查询。同样的查询在其他时候也能正常工作。我总是忘记在新服务器上安装SELinux,它总是以某种方式中断工作流程。感谢您的提醒,让我继续前进。有关如何正确设置SELinux的想法,请参阅以下接受答案: