我刚刚在我的Macbook上安装和配置了Apache、MySQL、phpMyAdmin和phpMyAdmin,以便有一个本地开发环境。但是,当我将我的一个项目移到本地服务器上后,我从对mysql_query()的调用中得到了一个奇怪的mysql_query错误:
拒绝用户'_securityagent'@'localhost‘的访问(使用密码:否)
首先,我发送给MySQL的查询都是有效的,我甚至用完美的结果通过phpMyAdmin测试了它。第二,错误消息只发生在这里,而我每页至少有4个其他mysql连接和查询。对mysql_query()的调用发生在一个非常长的函数的末尾,该函数处理新创建或修改的文章的数据。这基本上就是它所做的:
很基本,我知道。我不认识"_securityagent“这个用户名,所以在快速搜索之后,我从苹果开发者连接网站上的一篇文章中发现了这个问题,文章中提到了一些随机的bug:
Mac的安全基础设施通过以特殊用户"_securityagent“的身份运行其GUI代码来解决这个问题。
因此,正如Frank在注释中所建议的那样,我在mysql_connect()调用中使用的所有变量上放置了一个mysql_connect(),每次它都返回正确的值(当然,用户名不是"_securityagent“)。因此,我想知道是否有人知道'securityagent‘为什么要连接到我的数据库--以及当我调用mysql_query()时如何防止这个错误发生。
发布于 2009-07-30 23:35:06
如果未显式指定用户名,MySQL将尝试使用当前系统用户的名称来猜测用户名。
您不必接受这一点,您只需要显式地指定所需的用户名。
这取决于你是怎么联系的。在phpMyAdmin是config.inc.php的情况下,添加如下行:
$cfg['Servers'][0]['user'] = 'Eirik';(见手册)
发布于 2009-08-02 17:53:01
您是使用预先制作的软件包安装本地AMP服务器,还是通过各自的操作系统特定下载包安装了MySQL、PHP等?设置Apache、MySQL和PHP4 4/5可以是一个真正的皮塔。
如果您的设置我推荐曼普有问题。它是一个精巧的全一体的包装,真正发挥了作用。您仍然可以访问所需的所有配置文件,并且所有内容都包含在MAMP文件夹中,而不是分散在整个系统中。如果Apple升级了预安装版本的Apache/PHP,那么您的计算机特定配置就不会像在使用预安装的Apache/PHP时那样被覆盖。
https://stackoverflow.com/questions/1203253
复制相似问题