MySQL 查看本地用户名和密码

MySQL 查看本地用户名和密码

文章目录

[1. 查看 MySQL 用户名](#1. 查看 MySQL 用户名)

[方法 1:使用命令行](#方法 1:使用命令行)

[2. 查看 MySQL 密码(已加密存储,无法直接查看)](#2. 查看 MySQL 密码(已加密存储,无法直接查看))

[3. 重置 MySQL 密码](#3. 重置 MySQL 密码)

[方法 1:使用命令行重置 root 密码](#方法 1:使用命令行重置 root 密码)

[步骤 1:停止 MySQL](#步骤 1:停止 MySQL)

[步骤 2:启动 MySQL(跳过权限验证)](#步骤 2:启动 MySQL(跳过权限验证))

[步骤 3:重新打开一个终端,登录 MySQL](#步骤 3:重新打开一个终端,登录 MySQL)

[步骤 4:修改密码](#步骤 4:修改密码)

[步骤 5:重启 MySQL](#步骤 5:重启 MySQL)

[方法 2:直接修改 `my.ini` 配置文件](#方法 2:直接修改 my.ini 配置文件)

总结

1. 查看 MySQL 用户名

方法 1:使用命令行

打开命令提示符(CMD)

Win + R ,输入 cmd,按回车。

(如果 MySQL 要管理员权限)右键 CMD,选择 "以管理员身份运行"。

登录 MySQL 如果你还记得 MySQL 密码:

sh

复制代码

mysql -u root -p

如果没有设置密码,尝试:

sh

复制代码

mysql -u root

查询所有 MySQL 用户

sql

复制代码

SELECT User, Host FROM mysql.user;

常见用户名:

root(超级管理员)

mysql(某些版本默认用户)

admin(有些系统默认用户)

2. 查看 MySQL 密码(已加密存储,无法直接查看)

MySQL 不允许直接查看密码,但你可以查看密码是否为空:

sql

复制代码

SELECT User, authentication_string FROM mysql.user;

如果 authentication_string 为空,说明该用户没有密码。

3. 重置 MySQL 密码

方法 1:使用命令行重置 root 密码

如果你无法登录 MySQL,可以使用 跳过权限表模式 进行密码重置:

步骤 1:停止 MySQL

Windows(管理员 CMD 运行):

sh

复制代码

net stop mysql

Linux/macOS:

sh

复制代码

sudo systemctl stop mysql

步骤 2:启动 MySQL(跳过权限验证)

sh

复制代码

mysqld --skip-grant-tables --skip-networking

这个模式允许直接登录,不需要密码。

步骤 3:重新打开一个终端,登录 MySQL

sh

复制代码

mysql -u root

步骤 4:修改密码

sql

复制代码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

FLUSH PRIVILEGES;

替换 new_password 为你的新密码。

步骤 5:重启 MySQL

sh

复制代码

net stop mysql

net start mysql

或者:

sh

复制代码

sudo systemctl restart mysql

然后你就可以用新的密码登录了:

sh

复制代码

mysql -u root -p

方法 2:直接修改 my.ini 配置文件

打开 my.ini (Windows 通常在 C:\ProgramData\MySQL\MySQL Server 8.0\my.ini)。

在 [mysqld] 段落中添加:

sql

复制代码

skip-grant-tables

保存文件,重启 MySQL:

sh

复制代码

net stop mysql

net start mysql

然后使用 mysql -u root 登录,重置密码:

sql

复制代码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

FLUSH PRIVILEGES;

最后,删除 skip-grant-tables 并重启 MySQL。

总结

✅ 查看 MySQL 用户:

sql

复制代码

SELECT User, Host FROM mysql.user;

✅ 如果密码忘记了,重置密码:

sh

复制代码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

FLUSH PRIVILEGES;

✅ 如果无法登录,使用 --skip-grant-tables 模式重置密码。

相关文章