MySQL修改用户密码的几种方法

在 MySQL 中,根据不同的 MySQL 版本和使用场景,有多种修改用户密码的方法,以下为你详细介绍:

1. 使用ALTER USER语句(适用于 MySQL 5.7.6 及更高版本)

这是 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';

2. 使用SET PASSWORD语句(适用于 MySQL 5.7 及以下版本)

该语句可以修改当前用户或指定用户的密码。

修改当前用户密码

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');

3. 直接更新mysql.user表(不推荐,特殊情况下使用)

直接更新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;

4. 使用mysqladmin命令(适用于命令行操作)

如果你想在命令行中快速修改密码,可以使用mysqladmin工具。
mysqladmin -u username -p password new_password
  • 解释:-u指定用户名,-p提示输入当前密码,new_password是要设置的新密码。
  • 示例:修改用户test_user的密码:
mysqladmin -u test_user -p password MyNewPassword

执行该命令后,系统会提示你输入当前用户的密码,输入正确密码后,密码将被更新为MyNewPassword

在修改密码时,请确保新密码符合 MySQL 的密码策略要求,并且妥善保管好密码。

posted on   数据与人文  阅读(90)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示