时间:2021-07-01 10:21:17 帮助过:32人阅读
而本人创建的用户为:
Mysql> grant all on itcase.* to ‘test‘@‘%‘ identified by ‘123456‘;
结果登录时出现了error 1045(280000)提示。创建命令中通配符 % 可以匹配所有字符。
问题就清晰了,当我输入登录命令时:
C:\Users\Administrator>mysql -utest -p123456
系统会去寻找匹配字段,用户 test 他的 host 定义为 % ,所有上图 host 字段中任何一项都可以。再到匹配 user 字段, 这时 test 会匹配到第四个用户名为空的字段 。也就是说我们登录的是user为空的匿名用户,而非我们想要的 test 用户;密码验证错误。所以登录不了;
原因找到了,解决方法就是把匿名用户删除就行了。匿名用户是系统自行给予的,而且本身没有设置密码,可以随便登录;从安全方面看,删除匿名用户也可提高数据库的安全性。
用root用户登录mysql;
Mysql> use mysql;
Database Changed
Mysql>delete from user where user=‘‘;
Query OK, 2 rows affected (0.17 sec)
Mysql>exit
OK!到此问题解决。
mysql创建登录报错ERROR1045(28000)
标签:mysql 登录报错 error1045(28000)