创建MySQL数据库时,一直无法登陆成功新用户
报错如下:
Access denied for user '用户名'@'localhost' (using password: YES)
一、创建新用户步骤:
新用户名为:Mona
密码为:123456
CREATE USER Mona IDENTIFIED BY '123456';
将root权限赋给它(此时请慎重,若出错,则非常危险,不建议将全部权限都赋给普通用户)
GRANT ALL PRIVILEGES ON root.* TO Mona;
若只想赋给其select权利,则:
GRANT SELECT ON root.* TO Mona;
删除此用户:
drop user Mona;
二、报错解决方案
原因:MySQL中默认存在一个用户名为空的账户,只要在本地,可以不用输入账号密码即可登录到MySQL中。而因为这个账户的存在,导致了使用密码登录无法正确登录。
只要通过root账户登录,然后将该账户删除即可:
mysql -u root # 以root账户登录MySQL
use mysql #选择mysql库
delete from user where User=''; #删除账号为空的行
flush privileges; #刷新权限
exit #退出mysql
再次登陆:
登陆成功!!!