本篇将说明如何设置MySQL账户的密码,及账户过期。使用MySQL创建账户时,可以为账户直接创建密码。例如,
CREATE USER ... IDENTIFIED BY 'password'
复制
对于一个已经存在的账户而言,可以通过执行“ALTER USER”语句或者“SET PASSWORD”语句对该账户设置密码。例如,
ALTER USER user1@localhost IDENTIFIED BY 'password';
SET PASSWORD FOR user1@localhost ='password';
复制
或者使用mysqladmin客户端执行下列语句,前提是需要连接到mysql数据库
mysqladmin ... password 'newpassword'
复制
MySQL从8.0.14版本之后支持使用双重密码,双重密码允许账户使用主要(primary)和次要(secondary)两个密码。其主要目的是在用户拥有大量的MySQL服务器、并且有多个应用程序连接到不同的MySQL,当对应用程序更新使用新的MySQL密码时,可以通过同时使用两个密码保证系统的正常运行。当全部的应用程序更新密码后,可以删除次要密码。
使用双重密码时,使用下列语句,
ALTER USER USER() IDENTIFIED BY 'newpassword' RETAIN CURRENT PASSWORD;
复制
此时,新的密码将作为主要密码使用。
删除次要密码时,使用下列语句,
ALTER USER USER() DISCARD OLD PASSWORD;
复制
当运维策略需要为数据库的新账户的密码设置使用期限时,可以使用“PASSWORD EXPIRE”关键字对账户进行设置。例如,
CREATE USER 'use'@'localhost' IDENTIFIED BY 'password1' PASSWORD EXPIRE;
复制
此时,该用户登录MySQL服务器后,需要更改其密码才能够执行其他的语句。DBA通过配置“default_password_lifetime”全局变量,可以指定密码使用的期限(日),默认值为0,表示密码不会过期。也可以通过“PASSWORD EXPIRE”、“CREATE USER”或“ALTER USER”语句为每个账户指定期限。例如,
CREATE USER 'user4'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE INTERVAL 30 DAY;
复制
为账户指定默认的密码期限。例如,
ALTER USER 'user5'@'localhost' PASSWORD EXPIRE DEFAULT;
复制
禁用密码使用期限。例如,
ALTER USER 'user5'@'localhost' PASSWORD EXPIRE NEVER;
复制
当账户密码过期时,用户必须更改其密码后,才能够执行其他语句。
以上内容是关于MySQL账户创建密码及设置密码过期的介绍,感谢您关注MySQL解决方案工程师。
文章转载自MySQL解决方案工程师,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【MySQL 30周年庆】MySQL 8.0 OCP考试限时免费!教你免费领考券
墨天轮小教习
1369次阅读
2025-04-25 18:53:11
MySQL 30 周年庆!MySQL 8.4 认证免费考!这次是认真的。。。
严少安
601次阅读
2025-04-25 15:30:58
墨天轮个人数说知识点合集
JiekeXu
458次阅读
2025-04-01 15:56:03
MySQL数据库当前和历史事务分析
听见风的声音
440次阅读
2025-04-01 08:47:17
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
385次阅读
2025-04-17 17:02:24
MySQL 9.3 正式 GA,我却大失所望,新特性亮点与隐忧并存?
JiekeXu
366次阅读
2025-04-15 23:49:58
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
338次阅读
2025-04-15 14:48:05
openHalo问世,全球首款基于PostgreSQL兼容MySQL协议的国产开源数据库
严少安
314次阅读
2025-04-07 12:14:29
记录MySQL数据库的一些奇怪的迁移需求!
陈举超
211次阅读
2025-04-15 15:27:53
[MYSQL] 服务器出现大量的TIME_WAIT, 每天凌晨就清零了
大大刺猬
187次阅读
2025-04-01 16:20:44