Mysql出错论坛无法登录账号_Mysql账号用户名正确但无法登录问题解决

我本地的mysql版本是5.7.19,设置的用户名和密码是root/root,前几天还用得好好的,突然有一天输入正确的用户名和密码登不上去了,报错像下面这样:

XUEXUEdeMacBook-Pro:MyShells xuexue$ mysql -uroot -proot

mysql: [Warning] Using a password on the command line interface can be insecure.

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

好多人说用跳过认证的方式直接改密码,我也试了,步骤就是找到mysql安装路径下的bin下,运行

./mysqld_safe --skip-grant-tables &

然后直接就可以免密登陆了,查找user表,用以下方式把密码改成123456

update user set authentication_string='123456' where user='root';

发现并不管用,你会发现这一列的密码样式很不合群,按说不应该是明文,应该是加密的啊,看看结果

mysql> select user,host,authentication_string from user;

+---------------+-----------+-------------------------------------------+

| user          | host      | authentication_string                     |

+---------------+-----------+-------------------------------------------+

| root          | localhost | 123456                                    |

| mysql.session | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |

| mysql.sys     | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |

+---------------+-----------+-------------------------------------------+

3 rows in set (0.00 sec)

而且通过查看user表,发现root用户的password_expired是Y,意思也就是过期了,这并不是上面update语句能改变的。

最后解决这个问题是要通过

GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY '123456';

执行完后,再执行

flush privileges;

然后就可以通过mysql -uroot -p123456顺利登录了

这篇文章是17年写的,回看一下,发现这个东西应该从根上去解决,也就是说,既然知道是密码过期,就应该去设置密码过期时间。我当时估计也就是求先能登陆了:)转发别人的链接:https://www.cnblogs.com/root-admin/p/9369622.html

如果觉得文章好的话,鼓励一下吧:D

2a5c6a18e50e214986374823946060c7.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值