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. 修改已有用户的密码过期策略:
闪念贝壳
闪念贝壳是一款AI 驱动的智能语音笔记,随时随地用语音记录你的每一个想法。
218 查看详情
设置密码每 30 天必须更换:
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密码过期策略设置的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1007542.html
微信扫一扫
支付宝扫一扫