mysql如何配置密码有效期_mysql密码有效期设置方法

来源:这里教程网 时间:2026-02-28 20:30:03 作者:

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;

注意:该设置仅对之后创建或修改为使用默认策略的用户生效。

你也可以在配置文件中永久设置:

# 编辑 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';

基本上就这些。合理设置密码有效期有助于提升数据库安全,尤其适用于企业级应用环境。

相关推荐