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:使用命令行

  1. 打开命令提示符(CMD)

    • Win + R ,输入 cmd,按回车。
    • (如果 MySQL 要管理员权限)右键 CMD,选择 "以管理员身份运行"
  2. 登录 MySQL 如果你还记得 MySQL 密码:

    sh 复制代码
    mysql -u root -p

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

    sh 复制代码
    mysql -u root
  3. 查询所有 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 配置文件

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

  2. [mysqld] 段落中添加

    sql 复制代码
    skip-grant-tables
  3. 保存文件,重启 MySQL

    sh 复制代码
    net stop mysql
    net start mysql
  4. 然后使用 mysql -u root 登录,重置密码

    sql 复制代码
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
    FLUSH PRIVILEGES;
  5. 最后,删除 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 模式重置密码

相关推荐
yunlaodacom3 分钟前
腾讯云国际版代理商:COS标准、低频、归档和深度归档怎么选?存储成本与数据取回区别
数据库·云计算·腾讯云
Nturmoils3 分钟前
SQL Server数据库迁移:V9R4C019 如何接住存量 T-SQL 批处理
数据库
NineData9 分钟前
NineData智能数据管理平台新功能发布|2026年8月
数据库·人工智能·oracle·中间件·agent·数据库开发·ninedata
Elastic 中国社区官方博客20 分钟前
Elasticsearch 向量数据库:几分钟内完成部署,以经济高效的方式扩展至数千亿规模
大数据·运维·数据库·elasticsearch·搜索引擎·ai·全文检索
1314lay_100721 分钟前
C#调用Sql Server存储过程,有返回值的
数据库·sqlserver·c#
DBA_G2 小时前
GBase 8a数据库表空间多路径功能特点综述
数据库·oracle
TDengine (老段)2 小时前
TDgpt 使用 — 部署、SQL、算法
大数据·数据库·sql·算法·时序数据库·tdengine·涛思数据
晴天¥2 小时前
Oracle 19c数据库内存管理优化(内存管理方式调整及内存扩容)
数据库·oracle·oracle数据库集群调优
CQU_JIAKE2 小时前
9.10【A】
数据库
乐观的Terry3 小时前
Redis生产环境redis-conf配置教程
数据库·redis