张国伟 发表于 2025-3-23 06:34:40

MySQL密码修改的全部方式一篇详解

        本文将详细介绍多种修改MySQL密码的方式。


一、alter user 语句

当你以 root 用户大概拥有足够权限的用户登录 MySQL 时,可以利用 ALTER USER 语句来修改密码。这种方式适用于 MySQL 5.7 及以上版本,简朴直接,且符合 MySQL 的标准操纵规范。
操纵步调


[*]首先,利用以下下令登录 MySQL:
mysql -u root
-p

输入密码后乐成登录到 MySQL 下令行界面。

[*]接着,利用 ALTER USER 语句修改密码。假设要将用户 myuser 的密码修改为 myuser,可以执行以下 SQL 语句:
ALTER USER 'myuser'@'localhost' IDENTIFIED BY 'myuser';
这里的 'myuser'@'localhost' 表现要修改的是本地登录的 myuser 用户的密码。假如用户可以从任何主机登录,可以利用 'myuser'@'%'。

[*]修改完成后,为了让新密码立刻见效,必要革新权限:
FLUSH PRIVILEGES;





二、set password

SET PASSWORD 语句同样适用于在 MySQL 下令行中修改密码。它在 MySQL 各个版本中都能利用,假如习惯利用 SQL 语句进行操纵,这是一个不错的选择。
操纵步调


[*]同样先登录到 MySQL 下令行:
mysql -u root
-p


[*]然后利用 SET PASSWORD 语句修改密码。假如要修改当前登录用户的密码,可以执行以下语句:
SET PASSWORD = PASSWORD('12345678');
假如要修改其他用户的密码,例如 testuser 的密码,可以执行:
SET PASSWORD FOR 'testuser'@'localhost' = PASSWORD('newpassword');

[*]最后革新权限:
FLUSH PRIVILEGES;


   对于较新的 MySQL 版本,ALTER USER 语句更为推荐,SET PASSWORD 相对来说不够规范。



三、直接修改 mysql.user表

当忘记了 MySQL 的 root 密码,大概无法通过正常方式登录 MySQL 时,可以利用这种方式。但这种方式操纵相对复杂,必要审慎利用。
操纵步调


[*]制止 MySQL 服务:
sudo systemctl stop mysql


[*]以跳过权限查抄的方式启动 MySQL:
sudo mysqld_safe --skip-grant-tables &

[*]登录到 MySQL 下令行:
mysql -u root

[*]切换到 mysql 数据库:
USE mysql;

[*]利用 UPDATE 语句修改密码。假设要修改 root 用户的密码,可以执行:
UPDATE user SET authentication_string = PASSWORD('newpassword') WHERE User = 'root';
在 MySQL 5.7 及以上版本中,密码字段为 authentication_string;在早期版本中,大概为 Password。

[*]革新权限:
FLUSH PRIVILEGES;



[*]制止 MySQL 服务:
sudo systemctl stop mysql


[*]以正常方式启动 MySQL 服务:
sudo systemctl start mysql



← 上一篇 Java进阶——常用类及常用方法详解          记得点赞、关注、收藏哦!      下一篇 Java进阶——数组超详细整理 →
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: MySQL密码修改的全部方式一篇详解