mysql密码过期时间怎么改_mysql密码过期时间修改与密码重置

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

MySQL密码过期策略可以通过修改用户的密码过期时间来控制,适用于需要定期更换密码的安全策略场景。下面介绍如何查看、修改密码过期时间以及重置已过期的密码。

查看当前密码过期策略

MySQL通过全局变量
default_password_lifetime
控制默认密码过期天数。执行以下命令查看:

SELECT @@default_password_lifetime;

如果返回值为0,表示默认不启用密码过期;若为数字(如90),则表示密码每90天需更换一次。

修改全局密码过期时间

若要设置所有新用户默认的密码有效期,可修改全局参数:

SET GLOBAL default_password_lifetime = 90;

这将设置新创建的用户密码每90天过期。注意:MySQL 8.0之后该值默认为0(永不过期),需手动开启。

要在配置文件中永久生效,可在

my.cnf
my.ini
中添加:

[mysqld]
default_password_lifetime = 90

设置指定用户的密码过期时间

可以为单个用户设置特定的过期策略: ALTER USER 'username'@'localhost' PASSWORD EXPIRE INTERVAL 60 DAY; —— 每60天过期 ALTER USER 'username'@'localhost' PASSWORD EXPIRE NEVER; —— 永不过期 ALTER USER 'username'@'localhost' PASSWORD EXPIRE DEFAULT; —— 使用全局策略

例如,让root用户密码每30天过期:

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

重置已过期的密码

当用户登录时提示
Your password has expired
,需立即重置密码。

登录后执行:

ALTER USER USER() IDENTIFIED BY 'new_password';

或指定具体用户:

ALTER USER 'username'@'localhost' IDENTIFIED BY 'new_secure_password';

完成后执行

FLUSH PRIVILEGES;
刷新权限。

强制密码过期(用于下次登录修改)

管理员可强制某个用户密码立即过期,促使其下次登录时修改:

ALTER USER 'username'@'localhost' PASSWORD EXPIRE;

该操作常用于员工离职交接或安全审计后要求重设密码。

基本上就这些。合理设置密码过期时间有助于提升数据库安全性,但也要避免频繁过期影响正常运维。根据实际安全需求调整策略即可。

相关推荐