在 MySQL 中,根据不同的 MySQL 版本和使用场景,有多种修改用户密码的方法,以下为你详细介绍:
这是 MySQL 官方推荐的修改用户密码的方法,它会自动更新mysql.user
表并应用密码验证插件。
ALTER USER USER() IDENTIFIED BY 'new_password';
- 解释:
USER()
函数返回当前连接的用户名和主机名,new_password
是你要设置的新密码。
- 示例:
ALTER USER USER() IDENTIFIED BY 'MyNewPass123';
ALTER USER 'username'@'host' IDENTIFIED BY 'new_password';
- 解释:
'username'
是要修改密码的用户名,'host'
是该用户允许登录的主机,'new_password'
是新密码。
- 示例:修改用户
test_user
在本地登录时的密码:
ALTER USER 'test_user'@'localhost' IDENTIFIED BY 'NewPass456';
该语句可以修改当前用户或指定用户的密码。
SET PASSWORD = PASSWORD('new_password');
- 注意:在 MySQL 5.7.6 及以后版本中,
PASSWORD()
函数已被弃用,使用该语句时密码会以明文形式传输和存储。
- 示例:
SET PASSWORD = PASSWORD('MyNewPass789');
SET PASSWORD FOR 'username'@'host' = PASSWORD('new_password');
- 示例:修改用户
test_user
在本地登录时的密码:
SET PASSWORD FOR 'test_user'@'localhost' = PASSWORD('AnotherNewPass');
直接更新mysql.user
表是一种较为底层的方法,需要手动刷新权限,容易出错,一般不建议使用,仅在特殊情况下使用。
UPDATE mysql.user
SET authentication_string = PASSWORD('new_password')
WHERE User = 'username' AND Host = 'host';
FLUSH PRIVILEGES;
- 解释:
UPDATE
语句用于更新mysql.user
表中指定用户的密码字段,FLUSH PRIVILEGES
语句用于重新加载权限表,使修改生效。
- 示例:修改用户
test_user
在本地登录时的密码:
UPDATE mysql.user
SET authentication_string = PASSWORD('NewPassword123')
WHERE User = 'test_user' AND Host = 'localhost';
FLUSH PRIVILEGES;
如果你想在命令行中快速修改密码,可以使用mysqladmin
工具。
mysqladmin -u username -p password new_password
- 解释:
-u
指定用户名,-p
提示输入当前密码,new_password
是要设置的新密码。
- 示例:修改用户
test_user
的密码:
mysqladmin -u test_user -p password MyNewPassword
执行该命令后,系统会提示你输入当前用户的密码,输入正确密码后,密码将被更新为MyNewPassword
。
在修改密码时,请确保新密码符合 MySQL 的密码策略要求,并且妥善保管好密码。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)