SQLSTATE [28000] [1045]拒绝访问用户'root'@'localhost'(使用密码:NO)

时间:2011-03-22 20:36:59

标签: php sql

当我尝试在我的网站上连接到我的后台时,我收到此错误:

SQLSTATE[28000][1045]Access denied for user 'root'@'localhost'(using password:NO))

有人可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:5)

您必须使用密码。尝试使用“mysqladmin -u root password NEWPASSWORD”

设置一个

答案 1 :(得分:2)

登录数据库时需要提供密码。当您从php连接到sql时,请确保您提供此密码。

答案 2 :(得分:1)

如果先前设置了root密码,但忘记了密码,则可以设置新密码。我正在使用Windows计算机,并且能够使用路由http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html重置MySql根目录的密码。我创建了一个文本文件(mysql-init.txt),如下所示:

UPDATE mysql.user SET Password=PASSWORD('[choose your password')
WHERE User='root';
FLUSH PRIVILEGES;

在命令行中,我输入以下内容(要么确保您位于mysql \ bin目录中,要么路径环境变量包含该目录的路径),这将启动服务器:

mysqld --init-file=C:\\mysql-init.txt --console

这打印出一堆状态声明。要停止服务器,我在另一个命令行输入:

mysqladmin –u root –p[choose your password] shutdown

当然,请使用您在mysql-init.txt文件中使用的相同密码替换[选择密码]。在第一个命令行中,您应该获得更多状态语句,指示服务器正在关闭。

现在您拥有root用户的密码,您可以返回用于连接数据库的连接语句并添加密码和用户。