default_password_lifetime 参数定义了一个全局的MySQL密码过期时间,单位为天,也就是每过N天,就需要修改密码,否则会在连接后收到一个密码过期的报错。如果该参数设置为0,即表示密码永不过期。
default_password_lifetime:
- 作用范围:Global
- 动态修改:Yes
- 取值范围:0~65535
- 默认值:5.7.10 及之前版本为360,5.7.10 之后版本为0
如果使用一个过期的密码连接MySQL,会收到一个报错,如下:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
除了定义默认的密码过期策略,也可以为指定账号定义自定义过期策略,如下:
设置密码永不过期:
ALTER USER ‘root’@’localhost’ PASSWORD EXPIRE NEVER;
设置密码立即过期:
ALTER USER ‘root’@’localhost’ PASSWORD EXPIRE;
设置密码自定义过期天数:
CREATE USER ‘root’@’localhost’ PASSWORD EXPIRE INTERVAL 90 DAY;
ALTER USER ‘root’@’localhost’ PASSWORD EXPIRE INTERVAL 90 DAY;