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

时间:2025-03-20 11:33:37

记得那时由于没有网络,把rootpassword改错了写成了:

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

这样就好了。