mysql密码过期的修改方法(your password has expired)

注明mysql版本:V5.7.10

遇到此问题,网上搜索了一下,没有找到切中要害的说明,整理如下。

情况一:如果是本机的mysql过期。
请使用root用户命令行登录(命令行登录不存在过期)。
登陆后直接输入 > set password = password('123456');
再次使用客户端访问,发现可用。


情况二:如果是服务器mysql过期。
这种情况需要修改指定用户的password。
以root@% 为例 > set password for 'root'@'%' = password('123456');
再次使用客户端访问,发现可用。

 

 

 

 

 

 


需要说明几点搜索到的坑
1、以下这种方式不能解决密码过期问题
update mysql.user set authentication_string=password('123456') where user='root' and Host = '%';

2、修改password_last_changed不能解决密码过期问题。

3、mysql早前的版本user表有password字段,5.7为authentication_string。

4、不需要重启mysql服务器。

5、提醒一下,root@localhost和root@%不是同一个用户。


查看用户信息的sql如下,方便读者复制:
select host,user,password_last_changed from mysql.user;
————————————————
版权声明:本文为CSDN博主「我是知青」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lidachao01/article/details/72385498

posted @ 2021-09-13 16:10  看看反馈  阅读(1703)  评论(0编辑  收藏  举报