[MySQL登录错误] ERROR1045 (28000): Access denied for user 'omonroy'@'20.112.251.19' (using password:YES)

来源:互联网 发布:乌合之众 知乎 版本 编辑:程序博客网 时间:2024/05/16 23:58

收到美国那边同事carl的call说用户登录不上去了,不过2个礼拜前他还用的好好的,他给我发email了,他有急事需要处理麻烦我记尽快协助,他在email有截取错误信息:


root@xxxxx:/home/nova# mysql -h xxxx.xx.xx-xx.xx.com-u omonroy -p

Enterpassword:

ERROR1045 (28000): Access denied for user 'omonroy'@'20.112.251.19' (using password:YES)


关于这种问题,我直接回复,肯定是密码不对,但是carl说他输入的密码肯定是对的。但是由于我们这边的权限限制的比较严格,我是没有权限查看用户的明文密码的,于是在oc上面search david,让他帮忙复查下密码,他说carl的密码是正确的。


于是我就纳闷了,ssh远程,连接上去,登陆mysql

mysql> select user,host from mysql.user where user='omonroy';Empty set (0.00 sec)-- 没有omonroy这个账号啊mysql> select user,host from mysql.user where user like '%omonroy';Empty set (0.00 sec)-- 前缀模糊查询也没有啊mysql> select user,host from mysql.user where user like '%omonroy%';Empty set (0.00 sec)-- 全部模糊查询也没有账号啊,看来需要逐渐一个个字母去掉来模糊查询到底账号存在不存在了。mysql> select user,host from mysql.user where user like '%monroy%';+--------+------+| user   | host |+--------+------+| monroy | %    |+--------+------+1 row in set (0.00 sec)


找到有一个monroy的账号,也许carl使用的就是此账号,而被他输入成了 omonroy导致登录失败。

于是call carl,跟确认,使用monroy登陆看下是否可以,他试了下,说OK,里面有他需要的东西,OK,事情解决完了。


吐嘈下,为什么mysql不能直接报用户不存在的错误呢,而是报Access denied for user不对呢?这不明显加大了我们排查问题的步骤嘛?


就为这个简单的事情,把我call起来,也不好训carl,Y的。不过毕竟是山姆大叔啊,连我leader都对他毕恭毕敬的,我能怎么样呢?好困,继续睡吧!