轻松重置 MySQL 8.0 Root 密码的简便方法!

news2024/12/24 3:31:16

        在Windows环境下安装MySQL数据后,如果忘记了 MySQL 8.0 的 root 密码,不必担心!通过 --skip-grant-tablesnamed-pipe 模式登录后,只需几步简单的 SQL 命令即可重置密码:刷新权限表、修改密码、再刷新权限,最后重启 MySQL 服务,你就能使用新密码顺利登录数据库!

问题如下:

出现 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 表示 MySQL 拒绝了你提供的 root 用户的密码。可能的原因包括:

  1. 密码不正确:你提供的密码和 root 用户的实际密码不匹配。
  2. MySQL 安装时的问题:可能在安装 MySQL 时设置的 root 用户密码不正确,或者被误改。
  3. 权限问题root 用户的权限或账户状态可能有问题

解决方案

1. 检查是否输入正确的密码

确认你输入的密码是否正确,注意以下几点:

  • 密码区分大小写。
  • 确保没有意外的空格或字符被包含在密码中。
  • 确保你尝试的是 root 用户的密码,而不是其他用户。
2. 使用“跳过权限表”的方式重置 root 密码

如果你确认密码正确但仍然无法登录,或者你忘记了 root 密码,可以通过“跳过权限表”的方式重置密码。以下是步骤:

2.1 停止 MySQL 服务

在 Windows 下,你可以通过命令提示符停止 MySQL 服务:

net stop mysql

如果你使用的是不同的 MySQL 服务名称(如 mysql80),请将命令改为:

net stop mysql80
问题一:如果执行net stop mysql后,出现“C:\Users\admin>net stop mysql80 发生系统错误 5。 拒绝访问。

        出现 系统错误 5,并显示“拒绝访问”,通常意味着你没有足够的权限来停止 MySQL 服务。这是一个权限问题,通常是因为你未以管理员身份运行命令提示符。

解决方法:

方法一:以管理员身份运行命令提示符

Windows 中的一些操作(如启动和停止服务)需要以管理员权限执行。请按以下步骤操作:

  • 打开命令提示符

    • 点击 开始 菜单,在搜索框中输入 cmd
    • 在搜索结果中,右键点击 命令提示符,然后选择 以管理员身份运行
    • 在以管理员权限运行的命令提示符中,输入以下命令:
net stop mysql80

或者,如果你的 MySQL 服务名称是 mysql 而不是 mysql80,则输入:

net stop mysql
  • 检查 MySQL 服务名称

在某些情况下,MySQL 的服务名称可能不是 mysql80。你可以通过以下步骤检查你系统中的 MySQL 服务名称:

  1. 打开 命令提示符(以管理员身份运行)。

  2. 输入以下命令查看所有服务:

sc query

在返回的列表中找到类似 mysqlmysql80 的条目,记下服务名称。

或者,你可以专门查找 MySQL 服务:

sc query | findstr /i "mysql"

找到正确的服务名称后,再使用正确的服务名称来停止 MySQL 服务。

方法二:使用 Windows 服务管理器停止 MySQL 服务

如果不方便通过命令行操作,也可以使用 Windows 服务管理器来停止 MySQL 服务:

  1. Win + R 打开 运行 窗口,输入 services.msc,然后按回车。
  2. 在服务管理器中找到 MySQL80 或类似 MySQL 的服务。
  3. 右键点击该服务,然后选择 停止
2.2 以跳过权限表模式启动 MySQL

使用 --skip-grant-tables 选项启动 MySQL。这个选项允许你在没有密码的情况下登录 MySQL。

  • 打开命令提示符,进入 MySQL 的安装目录,通常是 C:\Program Files\MySQL\MySQL Server <版本号>\bin

  • 使用以下命令启动 MySQL 服务器(跳过权限表):

mysqld --skip-grant-tables

问题二:执行mysqld --skip-grant-tables 命令,再执行mysql -u root报错

        执行 mysqld --skip-grant-tables 命令,再执行mysql -u root,出现ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061)表明 MySQL 服务并未成功启动。

排查原因和解决方法:

1. 确认 MySQL 是否成功启动

执行 mysqld --skip-grant-tables 命令后,通常会显示一些输出。如果命令行未响应且没有提示 MySQL 已启动,可能说明启动失败。

在执行该命令时,请查看是否有错误输出。如果启动失败,可能会遇到类似以下问题:

  • 配置文件错误:检查 my.ini 文件中的端口设置或其他参数。
  • 数据目录错误:确保 MySQL 的数据目录可访问且完整。

如果没有看到任何输出,可以查看 MySQL 错误日志。

2. 查看 MySQL 错误日志

MySQL 错误日志中会包含详细的启动错误信息。日志通常位于 MySQL 数据目录下,文件名类似于 mysql.errerror.log。你可以打开该文件,查找任何与启动失败相关的错误。

日志文件通常位于:

# 路径为安装路径MySQL Server xx\Data\mysql.err下
C:\ProgramData\MySQL\MySQL Server 8.0\Data\mysql.err

可能不是mysql.err,需要看一下mysql.ini中配置,我的配置中文件名称为log-error="DESKTOP-ONBJR20.err"

可以通过下面命令查看文件内容:

type DESKTOP-ONBJR20.err
# 或者
more DESKTOP-ONBJR20.err
  • 错误日志信息如下:
2024-09-24T03:22:02.873676Z 0 [ERROR] [MY-010131] [Server] TCP/IP, --shared-memory, or --named-pipe should be configured on NT OS
2024-09-24T03:22:02.873977Z 0 [ERROR] [MY-010119] [Server] Aborting
2024-09-24T03:22:04.080405Z 0 [ERROR] [MY-013183] [InnoDB] Assertion failure: trx0sys.cc:643:UT_LIST_GET_LEN(trx_sys->mysql_trx_list) == 0 thread 32636

从错误日志来看,MySQL 在启动过程中遇到了几个问题,导致无法成功启动。这是关键的错误信息:

  1. [ERROR] [MY-010131]: TCP/IP, --shared-memory, or --named-pipe should be configured on NT OS

    • 这个错误表明在 Windows 环境中,MySQL 需要正确配置网络选项。它提到了需要使用 TCP/IPshared-memorynamed-pipe 来进行通信。
  2. [ERROR] [MY-010119]: Aborting

    • 这表明 MySQL 在遇到上述错误后停止了启动。
  3. [ERROR] [MY-013183] [InnoDB] Assertion failure: 这通常是由于 InnoDB 存储引擎中的一个内部一致性检查失败导致的。这个错误可能是由于损坏的事务或者数据导致的。

解决方案

1、修复 TCP/IPNamed Pipe 配置

你可以确保 MySQL 正确使用 TCP/IP,这是大多数情况下的首选方式。检查 my.ini 中的网络设置。打开 my.ini 文件,确保以下设置存在且正确:

[mysqld]
bind-address=127.0.0.1
enable-named-pipe

2、修复 InnoDB 相关错误

InnoDB 错误通常表明数据库文件或事务日志可能损坏。打开 my.ini 文件,添加以下配置来禁用 InnoDB 的恢复检查:

[mysqld]
innodb_force_recovery=0

innodb_force_recovery 可以有 1 到 6 的值,分别对应不同的恢复力度。如果 1 无效,你可以逐渐增加到 23 尝试恢复,但避免使用更高的值(如 4-6),这些可能导致数据丢失。

  • 启动后,不要关闭此窗口

2.3 重新打开另一个命令提示符窗口,登录 MySQL
  • 在另一个命令提示符窗口中,使用以下命令登录 MySQL(不需要密码):

mysql --protocol=PIPE -u root

  • 现在你应该可以登录 MySQL。

2.4 重置 root 密码

登录成功后,使用以下 SQL 命令重置 root 用户的密码:

USE mysql;

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

FLUSH PRIVILEGES;

new_password 替换为你想要设置的新密码。

2.5 关闭 MySQL 跳过权限表的模式并重启服务
  1. 停止跳过权限表的 MySQL 服务:

    • 首先关闭命令提示符窗口中的 MySQL 服务进程(按下 Ctrl + C 或直接关闭该窗口)。
  2. 重新启动 MySQL 服务:

net start mysql
2.6 使用新密码登录

现在你可以使用新的密码登录:

mysql -u root -p

输入你刚才设置的密码,应该可以成功登录。

总结

  • 如果你忘记了 root 密码,建议使用跳过权限表的方式重置密码。
  • 确保 MySQL 服务已经正确启动,且你在使用正确的用户名和密码进行登录。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2160663.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot+Thymeleaf租房管理系统

> 这是一个基于SpringBootThymeleafBootstrap实现的租房管理系统。 > 功能比较完善&#xff0c;包括用户注册/登录、房源登记、账单费用配置、统计报告等功能。 > 模拟真实使用环境&#xff0c;包括了自然人与法人的身份证明录入、房产证信息录入、通过邮件推送月…

E2VPT: An Effective and Efficient Approach for Visual Prompt Tuning

论文汇总 存在的问题 1.以前的提示微调方法那样只关注修改输入&#xff0c;而应该明确地研究在微调过程中改进自注意机制的潜力&#xff0c;并探索参数效率的极限。 2.探索参数效率的极值来减少可调参数的数量? 解决办法 提示嵌入进行transformer中 提示剪枝 Token-wise …

学生网上选课系统设计与实现

学生网上选课系统设计与实现 摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装学生网上选课系统软件来发挥其…

托盘检测系统源码分享

托盘检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

两数之和、三数之和、四数之和

目录 两数之和 题目链接 题目描述 思路分析 代码实现 三数之和 题目链接 题目描述 思路分析 代码实现 四数之和 题目链接 题目描述 思路分析 代码实现 两数之和 题目链接 LCR 179. 查找总价格为目标值的两个商品 - 力扣&#xff08;LeetCode&#xff09; 题目…

牛客周赛 Round 61 (C++实现)

比赛链接&#xff1a;牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ (nowcoder.com) 文章目录 1.致十年后的我们1.1 题目描述1.2 思路1.3 代码 2.简单图形问题2.1 题目描述2.2 思路2.3 代码 3. 小红的机器人构造3.1 题目描述3.2 思路3.2.1 问题13.2.2 问题23…

力扣 中等 1901.寻找峰值II

文章目录 题目介绍题解 题目介绍 题解 需要明白一个事实&#xff1a;从任意一个点出发&#xff0c;可以经过一个递增路径&#xff0c;找到一个极大值点。 求出一行的最大值&#xff0c;如果这行最大值比上面的要小&#xff0c;那峰值&#xff08;之一&#xff09;就会在上面 …

最具成长潜力奖!2024中国互联网发展创新与投资大赛(深圳)落幕,爱加密载誉而归!

近日&#xff0c;由中央网信办信息化发展局、广东省委网信办指导&#xff0c;中国互联网发展基金会、中国互联网投资基金、深圳市委网信办联合主办的2024中国互联网发展创新与投资大赛&#xff08;深圳&#xff09;正式落幕。 本次大赛共有508个项目报名参赛&#xff0c;经过4个…

springboot中的异步任务

在springboot项目中可以通过EnableAsyncAsync的方式简化异步操作&#xff0c;下文使用springboot:3.2.1 源码分析 若一个bean中的公共方法上标注了Async&#xff0c;在系统启动时&#xff0c;会给这个类创建一个代理对象&#xff0c;并将该代理对象作为bean注册到spring容器中 …

PyTorch 模型调试与故障排除指南

在当代深度学习领域&#xff0c;PyTorch 已成为开发和训练神经网络的主要框架之一。然而随着模型复杂度的增加和数据规模的扩大&#xff0c;开发者常常面临各种调试和优化挑战。本文旨在为 PyTorch 开发者提供一个全面的调试指南&#xff0c;涵盖从基础概念到高级技术的广泛内容…

2024双11买什么东西比较好?2024双十一好物推荐

双十一各种爆款商品&#xff0c;打折商品非常多&#xff0c;容易让人挑花眼也容易落入消费主义的陷阱&#xff0c;买回家后发现并不实用&#xff0c;甚至可能是自己平常生活中根本用不上的东西&#xff01;即使是打折活动也要在购买前考虑一下自己是否需要&#xff0c;在日常生…

DAMODEL——创建云实例与部署深度学习模型的详细指南

使用 DAMODEL 控制台创建云实例与部署深度学习模型的详细指南 本文将逐步介绍如何使用 DAMODEL 控制台创建云实例、配置 SSH 密钥、上传与下载数据集、以及基于 UNet 网络进行眼底血管分割的完整流程。此指南适用于需要在云端进行深度学习训练的用户&#xff0c;提供详细的操作…

YOLOv10改进,YOLOv10主干网络替换为FasterNet(全网独发手把手教学,助力涨点)

摘要 近年来,许多研究致力于减少浮点运算(FLOPs)以加速神经网络。然而,我们观察到这种FLOPs的减少并不一定能带来相应的延迟减少。这主要是由于运算每秒浮点运算数(FLOPS)效率低下,尤其是在频繁的内存访问(如深度卷积)时。为了解决这一问题,提出了一种新的部分卷积(…

如何快速上手一个Github的开源项目

程序研发领域正是有一些热衷开源的小伙伴&#xff0c;技能迭代才能如此的迅速&#xff0c;因此&#xff0c;快速上手一个GitHub上的开源项目&#xff0c;基本上已经变成很个程序员小伙伴必须掌握的技能&#xff0c;因为终究你会应用到其中的一个或多个项目&#xff0c;帮助自己…

<刷题笔记> 二叉搜索树与双向链表注意事项

二叉搜索树与双向链表_牛客题霸_牛客网 (nowcoder.com) 根据题意&#xff0c;我们需要将搜索二叉树转换成有序的形式。 重点一&#xff1a;BST的中序遍历一定是有序的 因此&#xff0c;此题无论如何都需要使用中序。 又因为要求原地算法&#xff0c;所以&#xff1a; 重点二&a…

Oracle AI理论与实践,企业落地篇干货满满

最近也是看到了圈子里的一位DBA好友&#xff0c;领导安排的工作是让负责AI的落地&#xff0c;而且也作为他业绩考核的指标&#xff0c;作为1名15年的DBA老兵来说&#xff0c;让AI落地面临的困难重重。 AI已经逐渐侵入到实际的生活中&#xff0c;最近我也是参加了Oracle官方在中…

大模型下载、本地部署和调用攻略

零、下载大模型——以Qwen/Qwen2.5-7B为例 1、下载前的准备工作 1.1 仔细阅读模型的Model card介绍 里面会有支持的上下文长度、模型结构、参数量等基本信息 1.2 查看模型文件 Tokenizer相关的文件&#xff1a; merges.txt&#xff1a;这是用于Byte Pair Encoding&#xff…

git笔记之重置本地仓库所有分支和远程保持一致、工作区恢复干净,像刚clone下来一样

git笔记之重置本地仓库所有分支和远程保持一致、工作区恢复干净&#xff0c;像刚clone下来一样 code review! 文章目录 git笔记之重置本地仓库所有分支和远程保持一致、工作区恢复干净&#xff0c;像刚clone下来一样1.实现该功能的 Bash 脚本示例2.改进版&#xff1a;增加了gi…

【第十八章:Sentosa_DSML社区版-机器学习之协同过滤】

【第十八章&#xff1a;Sentosa_DSML社区版-机器学习之协同过滤】 1.算子介绍 协同过滤是推荐系统中常用的一种方法。该算法旨在填补用户-产品关联矩阵中缺少的项。在算法中&#xff0c;用户和产品都是通过一组少量的潜在因素描述&#xff0c;这些潜在因素可以用于预测用户-产…

彻底掌握Android中的ViewModel

彻底掌握Android中的ViewModel ViewModel 属于Android Jetpack库的一部分&#xff0c;是一种业务逻辑或屏幕状态容器。它提供了在配置更改&#xff08;如屏幕旋转&#xff09;后依旧保留相应状态的特性&#xff0c;帮助开发者以更加清晰和可维护的方式处理UI相关的数据&#x…