MySQL支持密码过期策略以提升安全性,可通过default_password_lifetime设置全局过期时间,如90天;也可为特定用户设置过期规则,如CREATE USER时指定PASSWORD EXPIRE INTERVAL 60 DAY,或使用ALTER USER修改现有用户策略;通过SELECT user, host, password_last_changed, password_lifetime FROM mysql.user可查看过期状态;密码过期后用户需修改密码才能继续操作,建议使用新版本客户端并结合安全审计定期检查账户安全。

MySQL 支持通过密码过期策略来增强数据库的安全性,可以设置用户密码在一定时间后自动失效,强制用户修改密码。以下是配置 MySQL 密码过期策略的详细方法。
MySQL 从 5.7 版本开始支持密码过期机制,可以通过 default_password_lifetime 参数设置全局默认的密码有效期(单位:天)。
注意:该设置仅对未显式指定过期策略的用户生效。1. 编辑 MySQL 配置文件(通常为 my.cnf 或 my.ini):
[mysqld] default_password_lifetime = 90
以上配置表示所有新创建的用户密码将在 90 天后过期。
2. 重启 MySQL 服务使配置生效:
systemctl restart mysql
3. 也可以在运行时动态设置(无需重启):
ALTER INSTANCE ROTATE INSTRUMENTATION KEYS; SET GLOBAL default_password_lifetime = 90;
除了全局设置,还可以针对单个用户设置密码过期策略。
1. 创建用户时指定密码过期:
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE INTERVAL 60 DAY;
2. 修改已有用户的密码过期策略:
ALTER USER 'user1'@'localhost' PASSWORD EXPIRE INTERVAL 30 DAY;
ALTER USER 'user1'@'localhost' PASSWORD EXPIRE NEVER;
ALTER USER 'user1'@'localhost' PASSWORD EXPIRE;
可以通过查询 mysql.user 表来查看用户的密码过期策略和最后修改时间:
SELECT user, host, password_last_changed, password_lifetime FROM mysql.user WHERE user = 'user1';
当用户使用过期密码登录时,MySQL 会提示:
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';
1. 使用 PASSWORD EXPIRE 后,用户必须先修改密码才能执行其他操作。
2. 某些旧版本客户端可能不支持处理过期密码,建议使用较新的 MySQL 客户端或连接器。
3. 在生产环境中建议结合账号审计与密码策略,定期检查账户安全状态。
基本上就这些,合理配置密码过期策略有助于提升数据库安全性,防止长期使用弱密码带来的风险。
以上就是mysql如何配置密码过期策略_mysql密码过期策略设置的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号