讲师中心 微信公众号
AI工具推荐 视频效率加速

如何在MySQL 8.0中重置忘记的root管理员密码?

胖枫小哥_6088

胖枫小哥_6088

发布时间:2026-06-23 06:24:44

|

537人浏览过

|

来源于php中文网

原创

必须用mysqld --shared-memory --skip-grant-tables --console启动,因Windows强制要求本地通信方式;登录后须先UPDATE user SET authentication_string = ''再ALTER USER设新密码,否则报错。

如何在mysql 8.0中重置忘记的root管理员密码?

MySQL 8.0 忘记 root 密码时,不能直接用 mysql_secure_installation 或图形工具重置,必须手动绕过权限验证。关键在于:跳过认证不是靠改配置文件,而是靠带特定参数启动 mysqld 进程;且必须清空 authentication_string 字段,否则 ALTER USER 会失败。

为什么 mysqld --skip-grant-tables 直接报错?

在 Windows(尤其是 phpEnv、免安装版或某些服务注册异常的 MySQL)上,单独加 --skip-grant-tables 启动会报类似错误:

ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded

或更常见的:

TCP/IP, --shared-memory, or --named-pipe should be configured on NT OS

这是因为 MySQL 8.0+ 在 Windows 上强制要求启用至少一种本地通信方式(默认 TCP 被禁用),而 --skip-grant-tables 模式下它不会自动 fallback。解决方法是显式加上 --shared-memory(最轻量、无需端口/管道配置)。

  • 必须先彻底结束所有 mysqld.exe 进程(任务管理器里查杀干净,不止一个)
  • 不能依赖系统服务名(如 net stop mysql80),phpEnv 等环境往往没注册服务
  • --console 参数很重要:让错误日志直接输出到窗口,方便判断是否启动成功

如何用 --shared-memory --skip-grant-tables 启动 mysqld?

以管理员身份打开命令提示符,cd 到 MySQL 的 bin 目录(例如 phpEnv\Extensions\MySQL80\bin 或 D:\Program Files\MySQL\MySQL Server 8.0\bin),执行:

mysqld --shared-memory --skip-grant-tables --console

这个窗口会卡住(阻塞运行),说明 mysqld 已以无权限校验模式启动 —— 别关它,这是正常行为。

MySQL
MySQL

编写正确的MySQL查询,避免字符集、索引和锁方面的常见陷阱。

下载
  • 若提示“找不到 my.ini”,不用管:phpEnv 等精简版压根不读配置文件,参数全靠命令行传入
  • 不要加 --skip-networking:它在 Windows 下可能引发兼容问题,--shared-memory 本身已确保只允许本地连接
  • 路径中含空格时,必须用英文双引号包裹整个路径,但 mysqld 命令本身不用引号

登录后必须按顺序执行这三步(缺一不可)

另开一个管理员命令提示符,同样 cd 到 bin 目录,执行:

mysql -u root

进入后立即执行:

USE mysql;<br>UPDATE user SET authentication_string = '' WHERE user = 'root';<br>ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';<br>FLUSH PRIVILEGES;

注意:

  • UPDATE 必须在 ALTER USER 之前 —— MySQL 8.0+ 不再接受空密码字段直接设新密码,会报 ERROR 1396 (HY000)
  • 'root'@'localhost' 是默认账户,如果你曾创建过 'root'@'%',也要单独更新对应行
  • FLUSH PRIVILEGES 在 ALTER USER 后虽非强制,但能避免缓存导致新密码暂时不生效

重启 MySQL 时别漏掉这一步

回到第一个卡住的命令行窗口,按 Ctrl+C 终止 mysqld 进程;然后通过 phpEnv 控制面板或系统服务(net start mysql80)正常启动 MySQL —— 它会加载原始配置(比如绑定地址、插件等),此时新密码已写入磁盘并生效。

验证命令:mysql -u root -p,输入新密码应直接进入。最容易被忽略的是:很多人重启后仍用旧命令行窗口连,却忘了那个窗口里的 mysqld 进程其实还挂着,导致误判“重置失败”。

热门AI工具

更多
UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

4403

2023.10.12

SQL中distinct的用法
SQL中distinct的用法

SQL中distinct的语法是“SELECT DISTINCT column1, column2,...,FROM table_name;”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

911

2023.10.27

SQL中months_between使用方法
SQL中months_between使用方法

在SQL中,MONTHS_BETWEEN 是一个常见的函数,用于计算两个日期之间的月份差。想了解更多SQL的相关内容,可以阅读本专题下面的文章。

1149

2024.02.23

SQL出现5120错误解决方法
SQL出现5120错误解决方法

SQL Server错误5120是由于没有足够的权限来访问或操作指定的数据库或文件引起的。想了解更多sql错误的相关内容,可以阅读本专题下面的文章。

6341

2024.03.06

sql procedure语法错误解决方法
sql procedure语法错误解决方法

sql procedure语法错误解决办法:1、仔细检查错误消息;2、检查语法规则;3、检查括号和引号;4、检查变量和参数;5、检查关键字和函数;6、逐步调试;7、参考文档和示例。想了解更多语法错误的相关内容,可以阅读本专题下面的文章。

3163

2024.03.06

oracle数据库运行sql方法
oracle数据库运行sql方法

运行sql步骤包括:打开sql plus工具并连接到数据库。在提示符下输入sql语句。按enter键运行该语句。查看结果,错误消息或退出sql plus。想了解更多oracle数据库的相关内容,可以阅读本专题下面的文章。

6320

2024.04.07

sql中where的含义
sql中where的含义

sql中where子句用于从表中过滤数据,它基于指定条件选择特定的行。想了解更多where的相关内容,可以阅读本专题下面的文章。

8601

2024.04.29

sql中删除表的语句是什么
sql中删除表的语句是什么

sql中用于删除表的语句是drop table。语法为drop table table_name;该语句将永久删除指定表的表和数据。想了解更多sql的相关内容,可以阅读本专题下面的文章。

1170

2024.04.29

Playwright 测试失败怎么办
Playwright 测试失败怎么办

Playwright测试失败专题汇集超时、定位器匹配、浏览器提前关闭、依赖与插件配置、文件上传、SSL及Docker启动等故障文章,并介绍通过截图、报告和Trace定位错误。

0

2026.10.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL vs MySQL
PostgreSQL vs MySQL

共1课时 | 188人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn