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

        在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.xdnf.cn/news/149749.html

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

相关文章

SpringBoot | Maven快速上手

文章目录 一、Maven1.1 Maven 简介&#xff1a;1.2 Maven 的核心功能&#xff1a;1.2.1 项目构建&#xff1a;1.2.2 依赖管理&#xff1a; 1.3 Maven 仓库&#xff1a;1.3.1 本地仓库&#xff1a;1.3.2 中央仓库&#xff1a;1.3.3 私服&#xff1a; 二、第一个 SpringBoot 程序…

数据处理与统计分析篇-day09-数据透视表与日期时间处理

一. 数据透视表 概述 数据透视表&#xff08;Pivot Table&#xff09;是一种交互式的表&#xff0c;可以进行某些计算&#xff0c;如求和与计数等。 所进行的计算与数据跟数据透视表中的排列有关。之所以称为数据透视表&#xff0c;是因为可以动态地改变它们的版面布置&#…

智慧水利采砂船在线监控平台:构建高效、智能的河道采砂监管体系

随着科技的不断发展&#xff0c;水利行业的智慧化转型也日益受到重视。智慧水利采砂船在线监控平台便是这一转型的重要成果之一。该平台主要服务于水政执法人员&#xff0c;针对取得河道采砂许可证的采砂公司及采砂船&#xff0c;实施在线自动监控&#xff0c;旨在提高监管效率…

OSError: [Errno 16] Device or resource busy: ‘.nfs*‘报错解决办法

目录 1 项目场景&问题描述&#xff1a;2 原因分析&#xff1a;2.1 问题背景&#xff1a; 3 解决方案&#xff1a;3.1 创建存放临时文件的目录3.2 使用该目录3.2.1 设置环境变量 TMPDIR3.2.2 运行时设置&#xff08;推荐&#xff09;3.2.3 代码中设置 4 总结 1 项目场景&…

瑞芯微RK3566鸿蒙开发板Android11修改第三方输入法为默认输入法

本文适用于触觉智能所有支持Android11系统的开发板修改第三方输入法为默认输入法。本次使用的是触觉智能的Purple Pi OH鸿蒙开源主板&#xff0c;搭载了瑞芯微RK3566芯片&#xff0c;类树莓派设计&#xff0c;是Laval官方社区主荐的一款鸿蒙开发主板。 一、安装输入法并查看输入…

CSS05-Emment语法

Emmet语法的前身是Zen coding&#xff0c;它使用缩写&#xff0c;来提高html/css的编写速度&#xff0c;Vscode内部已经集成该语法。 作用&#xff1a; 1.快速生成HTML结构语法 2.快速生成CSS样式语法

linux 安装 tomcat9、java环境

一、安装 Java环境 1. 下载文件 https://repo.huaweicloud.com/java/jdk/ 或者网盘&#xff1a;通过网盘分享的文件&#xff1a;jdk-8u192-linux-x64.tar.gz 链接: https://pan.baidu.com/s/1V3pQWzgSLJxdrUdmmKueRA 提取码: qspw 2. 查看Linux系统是否有自带的jdk&#xf…

【TabBar嵌套Navigation案例-产品推荐-CollectionView的layout设置 Objective-C语言】

一、我们接着来做这个产品推荐页面啊 1.我们之前,把这个产品推荐页面做出来了,就是长的丑了点儿,所以呢,我们需要去给它设置一下itemSize啦,等等一些东西, 好,首先呢,在这个里边,我们找到我们的layout这块儿, 然后呢,这个layout里边,我们一个一个来设置, 首先呢…

Excel DATE函数怎么用,DATE函数的使用方法来了

大家好&#xff0c;这里是效率办公指南&#xff01; &#x1f4c5; 在处理Excel中的日期数据时&#xff0c;我们经常需要创建特定的日期或从多个单元格中合并日期。DATE 函数是Excel中一个非常实用的工具&#xff0c;它可以帮助我们从年、月、日的单独信息中创建一个正确的日期…

Kylinsec操作系统

外网源 发布地址&#xff1a;http://mirrorlist.kylinsec.com.cn:8888/publicrepo/

Git(5):分支合并merge和rebase

git merge 假设有两个分支&#xff1a;master 分支和 feature 分支&#xff0c;现在需要将 feature 分支合并到 master 分支。 git checkout mastergit merge feature在合并分支时&#xff0c;git 提供了不同的合并策略&#xff0c;用于处理不同的合并场景。 Fast-forward 如…

《百家姓》中排名第八却是中国人口第一大姓-王姓

王姓在《百家姓》中虽然排名第八&#xff0c;但根据近年来的统计数据和实际人口分布&#xff0c;王姓已成为中国第一大姓。以下是对王姓作为“百家姓之首”的详细解析&#xff1a; 一、人口数量与分布 人口数量&#xff1a;截至当前时间&#xff08;2024年&#xff09;&#x…

Jmeter 配置元件-计数器时间变量

计数器 在 JMeter 中&#xff0c;计数器是一个非常有用的配置元件&#xff0c;可以帮助你在每次请求时生成递增的数字。 在线程组下新增计数器 配置计数器 开始值&#xff08;Starting value&#xff09;&#xff1a;给定计数器的起始值、初始值&#xff0c;第一次迭代时&…

我们离生成式 AI 应用全面爆发还有多远?2024 全球产品经理大会透露了这些关键信号

GenAI 应用爆发何时到来、生成式 AI 应用到底该怎么做……大模型浪潮已经有将近两年的时间&#xff0c;去年狂卷模型&#xff0c;今年业内则一致认为是应用落地元年&#xff0c;但其间困惑诸多&#xff0c;产品人与创业者们该何去何从&#xff0c;答案尽在 2024 全球产品经理大…

Linux 常用命令(待更新)

1、pwd命令 2、cd命令 3、ls命令 4、locate命令 5、clear命令 6、cat命令 7、head命令 8、tail命令 9、grep命令 10、chmod命令 11、cp命令 12、mv命令 13、mkdir命令 14、rm命令 15、文件压缩和有关归档的命令 16、文件系统的命令 17、与系统管理相关的命令 …

七种修复错误:由于找不到msvcr110.dll 无法继续执行的方法

当你在运行某些程序时遇到“找不到msvcr110.dll”的错误提示&#xff0c;这通常意味着你的系统缺少了Microsoft Visual C 2012 Redistributable包中的一个重要文件。这个DLL文件是Microsoft Visual C Redistributable的一部分&#xff0c;用于支持许多使用Visual C编写的软件和…

Linux:文件描述符详解

相关阅读 Linuxhttps://blog.csdn.net/weixin_45791458/category_12234591.html?spm1001.2014.3001.5482 Linux中的所有进程&#xff0c;都拥有自己的文件描述符(File Descriptor, FD)&#xff0c;它是操作系统在管理进程和文件时的一种抽象概念。每个文件描述符由一个非负整…

链接器查找其他动态库的过程

export LD_DEBUGall 2./your_program 这将输出所有的调试信息&#xff0c;包括搜索路径、库的加载、符号解析等详细信息。 关闭用unset LD_DEBUG 常用的 LD_DEBUG 选项包括&#xff1a; all: 输出所有调试信息。paths: 显示搜索路径信息。files: 显示文件打开和关闭的信息。…

使用天地图实现只展示某个市的功能

可参考 天地图部分功能hooks封装useTdtMap.js 和 处理geoJson格式数据并能回显至天地图上 下面实现效果类似于百度地图-展示部分区域 功能图 部分代码 const initLoad () > {mapInit().then((res) > {map.value res;var layers map.value.getLayers();layers.forEac…

CSS04-Chrome调试工具

Chrome 浏览器提供了一个非常好用的调试工具&#xff0c;可以用来调试我们的 HTML结构和 CSS 样式。