mysql从5.7.11起支持密码有效期设置,可通过ALTER USER指定用户密码过期时间,如90天后过期;可设永不过期或使用默认策略;通过SET GLOBAL default_password_lifetime设置全局有效期,如60天,并可在配置文件中持久化;创建用户时可直接设定密码有效期;也可强制用户登录时修改密码,提升安全性。

MySQL 支持设置用户密码的有效期,用来强制用户定期修改密码以增强安全性。从 MySQL 5.7.11 版本开始,引入了原生的密码过期策略功能。以下是配置 MySQL 密码有效期的方法。
1. 设置全局密码过期策略
可以通过修改全局变量 default_password_lifetime 来设定所有新用户的默认密码有效期(单位:天)。
示例:设置密码90天后过期
ALTER USER 'username'@'host' PASSWORD EXPIRE INTERVAL 90 DAY;
如果想让某个用户不受有效期限制,可设置为永不过期:
ALTER USER 'username'@'host' PASSWORD EXPIRE NEVER;
或者使用默认策略:
ALTER USER 'username'@'host' PASSWORD EXPIRE DEFAULT;
2. 修改全局默认有效期
MySQL 默认的 default_password_lifetime 在某些版本中是 0(表示永不过期),可以手动修改为需要的天数。
设置全局密码有效期为60天:
SET GLOBAL default_password_lifetime = 60;
注意:该设置仅对之后创建或修改为使用默认策略的用户生效。
你也可以在配置文件中永久设置:
基于ECSHOP2.7.2制作,模板使用的是早期的凡客模板。整站大气,清爽。适合综合,鞋子,服饰类商城使用。具体安装方法在程序包中有说明,在使用之前请看下。 大体方法:1.上传程序至网站根目录,访问:域名/diguo (用户名:admin 密码:123456)2.设置好数据库信息,然后恢复数据,数据目录在www.shopex5.com下.3.修改data目录下的config数据库配置文件。4.登陆
0
# 编辑 my.cnf 或 my.ini 文件 [mysqld] default_password_lifetime = 60
修改后重启 MySQL 服务使配置生效。
3. 创建用户时指定密码有效期
在创建新用户时,可以直接指定密码过期规则。
示例:创建一个60天后密码过期的用户
CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE INTERVAL 60 DAY;
4. 强制用户立即修改密码
如果希望用户下次登录时必须修改密码,可以手动将密码设置为过期。
命令如下:
ALTER USER 'username'@'localhost' PASSWORD EXPIRE;
用户登录时会提示:
Your password has expired. To log in you must change it using a client that supports expired passwords.
此时需执行:
ALTER USER USER() IDENTIFIED BY 'new_password';
基本上就这些。合理设置密码有效期有助于提升数据库安全,尤其适用于企业级应用环境。