mysql设置密码过期,及密码过期处理

mysql 5.6及以上版本开始可以设置密码过期,我本人用的是5.6.21,可以通过查看mysql.user里面的password_expired字段知道是否过期(拉到最后面)

select * from mysql.user;

mysql设置密码过期,及密码过期处理_第1张图片
N为不过期,Y为过期。默认为N不过期。

将密码设置为过期的语句为:alter user ‘用户名’@‘host’ password expire; 如:

alter user 'root'@'localhost' password expire;

这时候输入

select * from mysql.user;

查看root的password_expired字段已经变为Y,再重新登录时会发现已经连接不上,提示密码过期。解决办法是修改登录密码就可以(可以修改为原来的密码):
1、打开cmd,cd进入mysql安装的bin目录,我的目录是:C:\Program Files\MySQL\MySQL Server 5.6\bin,所以输入:cd C:\Program Files\MySQL\MySQL Server 5.6\bin,回车

2、输入 mysql -u root -p,回车,输入mysq密码进行登录l

3、修改密码,语句(记得要加分号;再回车):

set password for root@localhost = password('123456');

如图:
mysql设置密码过期,及密码过期处理_第2张图片

这时候重新连接mysql发现可以连接上了,查看mysql.user表发现root的password_expired已经改为N。

延伸:

查看网上的说法,可以修改过期的天数(多少天过期),以天为单位,如:

ALTER USER ‘root’@‘localhost' PASSWORD EXPIRE INTERVAL 30 DAY;

或者修改密码永不过期,如:

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

或这种方式修改密码不过期:

SET GLOBAL default_password_lifetime = 0;

但是这些都是从MySQL 5.7.4版本开始才可以设置,我这里设置的时候提示出错。

参考:https://blog.csdn.net/y100100/article/details/79034638

参考: https://blog.csdn.net/huang800336/article/details/49157235?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-5

你可能感兴趣的:(Mysql,mysql)