mysql登录报错error1045,mysql创建登录报错ERROR1045(28000)

。如下图(第四个):

af2165c40623212a09cf20f35933d21d.png

而本人创建的用户为:

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)

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://codingyang.blog.51cto.com/11368359/1759352

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值