ERROR 1045 (28000): Access denied for user ‘xxx‘@‘localhost‘ (using password: Yes)

当我们root用户登录数据库之后,用root用户创建了一个用户并给他赋予权限之后 切换用户的时候就发生了一下的错误:

ERROR 1045 (28000): Access denied for user ‘xxx‘@‘localhost‘ (using password: Yes)_第1张图片

 当时还以为是密码错误的问题,结果修改了密码还是会出现这样的错误

经过多方查询以及相关博主的帖子博客,其实大概就是因为你有一个空的匿名账户,Mysql会先去匹配它,然后就会一直提示你密码错误,只需删掉这个匿名账户,然后在执行 FLUSH PRIVILEGES;就可以了

use mysql
delete FROM user where user='' and Host='localhost';
FIUSH PRIVILEGES;

ERROR 1045 (28000): Access denied for user ‘xxx‘@‘localhost‘ (using password: Yes)_第2张图片

执行完之后在进行登录就不会出错啦 
ERROR 1045 (28000): Access denied for user ‘xxx‘@‘localhost‘ (using password: Yes)_第3张图片

 这里有个小小的细节:在我们执行数据库删除语句之前,必须要使用某个数据库,不然会提示你

no database selected

你可能感兴趣的:(linux,mysql)