2011-03-22 136 views
1

当我尝试连接到我的后台在我的网站,我得到这个错误:SQLSTATE [28000] [1045]访问被拒绝的用户 '根' @ 'localhost' 的(使用密码:NO)

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

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

+0

你想用root用户连接到你的数据库?根用户? – 2011-03-22 20:45:13

+0

不,实际上我有登录名和密码,我不明白他为什么提到根本故事!我可以说,这在windows(wamp)下没有问题,但在Mac OSX下我得到了这个错误(mamp)。 – Malloc 2011-03-22 20:50:45

回答

5

您必须使用密码。尝试使用“mysqladmin -u root密码NEWPASSWORD”设置一个。

+0

我在本地工作,我不使用密码到我的MySQL数据库servor,我有任何问题,当我在Windows下运行,但当我在Mac OSX下,这个错误出现在我:( – Malloc 2011-03-22 20:41:29

2

登录到数据库时需要提供密码。当你从php连接到sql时,确保你提供了这个密码。

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目录或PATH环境变量包括:该目录的路径),这将启动服务器:

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

这打印出一堆状态语句。要停止服务器,我在另一个命令行中键入此:

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

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

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

相关问题