mysql设置密码过期,及密码过期处理
mysql 5.6及以上版本开始可以设置密码过期,我本人用的是5.6.21,可以通过查看mysql.user里面的password_expired字段知道是否过期(拉到最后面)
select * from mysql.user;
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发现可以连接上了,查看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
还没有评论,来说两句吧...