用phpmyadmin新建用户和同名数据库以后,无论是通过phpmydamin,还是命令行,以新用户名登录都无法成功。命令行提升:Access denied for user \'xxx\'@\'localhost\' (using password: YES),xxx为新用户名。
在排除密码错误的可能性之后,于是一番百度之后,找到了问题所在:MySQL中默认存在一个用户名为空的账户,只要在本地,可以不用输入账号密码即可登录到MySQL中。而因为这个账户的存在,导致了使用密码登录无法正确登录。
由此,解决这个就很简单了,可以通过phpmyadmin,用root登录数据库,删除这个用户名为空的账户即可。
亦或者可以通过以下的命令行的方式删除该账户:
mysql -u root -p
#以root账户登录MySQL,需输入root密码。
use mysql;
#选择mysql库。
delete from user where User='';
#删除账号为空账户
flush privileges;
#刷新权限
exit
#退出
这时,无论用 phpmyadmin,还是用命令行,都能用新增用户名和其密码登录数据库了。
注:本条亦适用于MariaDB数据库!