MySQL提示Access denied for user ''@'localhost'”的解决

记得那时因为没有网络,把root密码改错了写成了:
update user set password="122" where user="root";
之后mysql就开始不工作了。
#mysql -u root -p
#123
就会出现:ERROR 1045 (28000): Access denied for user ‘‘@‘localhost‘ (using password: NO)
只能这样:
#mysql -u root
mysql> use mysql
又出现了ERROR 1045 (28000): Access denied for user ‘‘@‘localhost‘ (using password: NO)
找了好久资料:
解决方法:

1.关闭mysql
   # service mysqld stop
2.屏蔽权限
   # mysqld_safe --skip-grant-table
   屏幕出现: Starting demo from .....
3.新开起一个终端输入
   # mysql -u root mysql
   mysql> UPDATE user SET Password=PASSWORD(‘newpassword‘) where USER=‘root‘;
   mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误
   mysql> \q
这样就好了。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。