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;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值