MySQL密码修改的全部方式一篇详解
本文将详细介绍多种修改MySQL密码的方式。
本文目录
- 一、alter user 语句
- 操作步骤
- 二、set password
- 操作步骤
- 三、直接修改 mysql.user表
- 操作步骤
一、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进阶——数组超详细整理 → |