用户 @ 'localhost' 访问数据库 '' 被拒绝。

21

我看到了很多类似这样的问题,但是还没有找到完全像我这样的。不知道在哪里更改这些设置或任何东西,希望得到帮助。

access denied Access denied for user ''@'localhost' to database ''

这是我的页面开头。

$dbhost = 'localhost'; //unlikely to require changing.
$dbname ='publication'; //modify these
$dbuser = 'username'; //variables 
$dbpass = ''; //// to your installation
$appname = 'application name'; // and preference

mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error());

4
请展示 mysql_connect 的代码。 - Yogu
你的数据库有密码吗?无论如何,它都显示你的用户名没有被发送。 - Brigand
你能否使用与脚本运行主机相同的凭据通过命令行连接到它? - Reza S
phpAdmin 最终成为了我所需要的。 - expiredninja
如果这是一个测试盒,那么您可以使用以下内容开始:mysql -e GRANT ALL ON *.* TO ''@'localhost' - James Oravec
将 $dbuser 设置为 'root'。 - Aria5h4h
2个回答

20

尝试这个:将用户添加到MySQL

如果您希望外部访问数据库(例如网页),则需要为用户授予特定权限。


我最终使用了phpMyadmin,但是没错,这基本上就是我所需要的。 - expiredninja

4

您很可能没有使用正确的MySQL服务器凭据。您还需要确保连接的用户具有查看数据库/表的正确权限,并且可以从网络拓扑术语(本地主机)的当前位置建立连接。


我该如何改变这些东西? - expiredninja
1
你必须使用设置MySQL时使用的凭据,对于其他事情,谷歌是你最好的朋友.. :) 如果可能的话,我建议使用用户“root”。它拥有执行任何操作所需的所有权限。这将缩小您的查询范围,仅限于能够连接并使用正确的凭据。 - Clay Freeman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接