如何查看本地mysql的用户名和密码

本文介绍如何使用SQL命令从mysql.user表中检索密码,并解释了这些密码是经过MD5加密的。通过适当的反解手段可以获取到原始密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 输入命令 select *from mysql.user;

密码是MD5加密过的,然后通过反解即可看到密码。

### 本地 MySQL 用户名密码找回与重置方法 MySQL 数据库的用户名密码通常不会直接存储在配置文件中,常见的配置文件如 `/etc/mysql/my.cnf`、`/usr/local/mysql/my.cnf`、`/etc/my.cnf`(Linux 系统)或 `C:\ProgramData\MySQL\MySQL Server x.x\my.ini`(Windows 系统)中仅包含数据库的连接配置信息,不包括明文密码[^1]。 如果用户忘记了本地 MySQL用户名密码,尤其是 `root` 用户的密码,可以通过以下方式重置密码。 #### Linux 系统下重置 MySQL root 密码 1. 修改 MySQL 配置文件,在 `[mysqld]` 段落下添加 `skip-grant-tables`,跳过密码验证过程: ```ini [mysqld] skip-grant-tables ``` 保存并退出配置文件[^2]。 2. 重启 MySQL 服务以应用更改: ```bash sudo systemctl restart mysql ``` 3. 使用无密码方式登录 MySQL: ```bash mysql -u root ``` 4. 切换到 `mysql` 数据库,并更新 `root` 用户的密码: ```sql USE mysql; UPDATE user SET authentication_string=PASSWORD('新密码') WHERE User='root' AND Host='localhost'; FLUSH PRIVILEGES; ``` 5. 从配置文件中移除或注释掉 `skip-grant-tables`,然后再次重启 MySQL 服务以恢复正常验证流程。 #### Windows 系统下重置 MySQL root 密码 1. 打开 MySQL 配置文件 `my.ini`,在 `[mysqld]` 段落下添加 `skip-grant-tables`: ```ini [mysqld] skip-grant-tables ``` 保存文件并关闭。 2. 重启 MySQL 服务: - 可通过“服务”管理工具重启,或使用命令行: ```cmd net stop MySQL net start MySQL ``` 3. 登录 MySQL 无需密码: ```cmd mysql -u root ``` 4. 更新 `root` 用户密码: ```sql FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; ``` 5. 去除配置文件中的 `skip-grant-tables`,并再次重启 MySQL 服务[^3]。 #### 注意事项 - 修改配置文件时应确保路径文件名正确,避免误操作导致服务无法启动。 - 在更新密码时,建议使用强密码策略以增强安全性。 - 如果使用的是较新版本的 MySQL(如 8.0 及以上),密码加密方式可能有所不同,应使用 `ALTER USER` 命令更新密码。 - 若系统中存在多个 MySQL 实例,需确认修改的是当前运行实例的配置文件。 --- ###
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值