原文链接 http://codebay.cn/post/9447.html

再不找到今天差点要通宵 Mark起来~

实测mysqld –skip-grant-tables这样的命令行,在mysql8中无法成功启动,而且测试了该参数放在ini文件里面也同样无法启动

MySQL的密码是存放在user表里面的,修改密码其实就是修改表中记录。

重置的思路是是想办法不用密码进入系统,然后用数据库命令修改表user中的密码记录。

查了下,MySQL5系统在网上建议的方法是以–skip-grant-tables参数启动mysql服务,该参数指示在启动时不加载授权表,因此启动成功后root用户可以空密码登陆

mysqld –skip-grant-tables

登陆之后可以用

UPDATE user SET authentication_string=” WHERE user='root';

这类命令设置密码或者将密码置空。

但是,实测mysqld –skip-grant-tables这样的命令行,在mysql8中无法成功启动,而且测试了该参数放在ini文件里面也同样无法启动

MySQL8系统密码重置的两个思路

两条思路,或者用–init-file参数在服务启动时加载并运行修改密码的命令文件,该命令一旦执行,服务启动后密码即已经清除或者重置,启动服务后即可以空密码或指定密码登入。

或者继续研究–skip-grant-tables命令行参数下服务不能启动的原因,解决问题,然后启动服务后以空密码登入,手工输入命令,执行清除或者重置mysql.user表中的密码记录字段。

推荐使用前者。

具体操作流程如下:

方法一:利用–init-file参数解决//亲测成功启动

该参数指定服务启动时先执行一个包含sql命令文件,因此,只需要将重置密码的命令写在该文件中,以此参数指定启动时执行该命令,启动完成即可重置系统密码了。

第一步,关掉系统服务

net stop mysql

第二步,创建一个文本文件,内含一条密码修改命令

ALTER USER ‘root'@'localhost' IDENTIFIED BY ”;

第三步:命令行方式启动服务器,指定启动时执行上述的密码修改命令文件

mysqld –init-file=d:mysqlc.txt –console

具体操作截图

方法二,想办法让–skip-grant-tables参数用起来

同方法一,先关掉系统服务

实测,在mysql8系统下,用mysqld –console –skip-grant-tables –shared-memory可以无密码启动服务

服务启动后,以空密码登入系统

mysql.exe -u root

然后执行sql命令将root用户密码设置为空

UPDATE mysql.user SET authentication_string=” WHERE user='root' and host='localhost';

具体操作截图

MySQL8的一些特性导致老方法重置不大管用了,建议使用–init-file参数解决

mysql8忘记原始密码如何进入问题的更多相关文章

  1. Mysql8 忘记Root密码(转)

    第一步:修改配置文件免密码登录mysql vim /etc/my.cnf 1.2 在 [mysqld]最后加上如下语句 并保持退出文件: skip-grant-tables 1.3 重启mysql服务 ...

  2. mysql8忘记root密码修改密码(mac)

    0.在/etc/my.cnf修改验证方式 [mysqld] default_authentication_plugin=mysql_native_password 1.切换root权限: sudo s ...

  3. Centos下mysql8忘记root密码的解决办法

    首先,打开配置文件/etc/my.cnf,在末尾添加一行: skip-grant-tables 然后重启mysql服务: service mysqld restart 然后可以直接登录到mysql,在 ...

  4. mysql8忘记登录密码时,修改密码方法

    一.停止mysqld进程 systemctl stop mysqld.service 二.修改/etc/my.cnf(在mysqld选项添加skip-grant-tables),设置免密码登录: vi ...

  5. mysql8忘记密码的解决方法

    mysql8忘记密码的解决方法 1.管理员身份打开cmd,进入dos 2.停止mysql服务 命令:net stop mysql 3.无密码启动 命令:mysqld --console --skip- ...

  6. Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)

    忘记Root密码肿么办 Mac上安装MySQL就不多说了,去mysql的官网上下载最新的mysql包以及workbench,先安装哪个影响都不大.如果你是第一次安装,在mysql安装完成之后,会弹出来 ...

  7. Excel—“撤销工作表保护密码”的破解并获取原始密码

    您是否遇到过这样的情况:您用Excel编制的报表.表格.程序等,在单元格中设置了公式.函数等,为了防止其他人修改您的设置或者防止您自己无意中修改,您可能会使用Excel的工作表保护功能,但时间久了保护 ...

  8. 转:Excel—“撤销工作表保护密码”的破解并获取原始密码

    在日常工作中,您是否遇到过这样的情况:您用Excel编制的报表.表格.程序等,在单元格中设置了公式.函数等,为了防止其他人修改您的设置或者防止您自己无意中修改,您可能会使用Excel的工作表保护功能, ...

  9. 忘记root密码怎么办

    忘记root密码有两种解决办法.一种是emergency模式,另一种是rescue模式. 1.emergency模式 这个模式又有人称为单用户模式.使用这种模式,前提是要知道grub密码.一般适用于对 ...

  10. 忘记root密码怎么办-单用户模式修改root密码

    忘记root密码怎么办-单用户模式修改root密码================================= 1,开机3秒内按下向下的方向键,目的是为了不让它进入系统,而是停留在开机界面. 2 ...

随机推荐

  1. MybatisPlus - [01] 概述

    MybatisPlus可以节省我们大量工作时间,所有的CURD代码它都可以自动化完成! 一.是什么   MyBatis-Plus(简称MP)是一个基于MyBatis的增强工具,其设计目的是在不改变My ...

  2. CentOS7搭建CDH5.16.2集群 HA高可用(包含Spark2等组件部署)

    CentOS7搭建CDH5.16.2集群 HA高可用   机器准备:(这里HA是对HDFS和YARN的高可用) 主机名 cpu内存 bigdata-master01 8c32G bigdata-mas ...

  3. CPrimerPlus

    还没学 的 167页的wordcnt程序 199页的checking程序(太长了,不想看) 113页的第八章编程练习5(不想看) 125页的复习题9(有问题,有时间再来验证) 119页重定向和文件(n ...

  4. 如何写自己的springboot starter?自动装配原理是什么?

    如何写自己的springboot starter?自动装配原理是什么? 官方文档地址:https://docs.spring.io/spring-boot/docs/2.6.13/reference/ ...

  5. DeepSeek 3FS 与 JuiceFS:架构与特性比较

    近期,DeepSeek 开源了其文件系统 Fire-Flyer File System (3FS),使得文件系统这一有着 70 多年历时的"古老"的技术,又获得了各方的关注.在 A ...

  6. Linux升级openssl、openssh

      在项目中,我们经常会发现Linux系统中Open SSH.Open SSL存在高危漏洞,如OpenSSL"心脏出血"漏洞,利用该漏洞,黑客可以获取约30%的https开头网址的 ...

  7. 窗体添加按钮--java进阶day03

    1.组件.面板对象 窗体中的图片.按钮.文本都是组件,光创建出了窗体没有组件肯定不行,但是这些组件该放到窗体的哪个位置? 很明显是窗体中空白的位置,但是我们需要知道,这块空白位置在窗体中是一个被封装的 ...

  8. kubectl

    ... Nodes k8s查看节点CPU消耗情况,可以用kubectl top命令,但是会出现 kubectl top nodes error: Metrics API not available 退 ...

  9. 牛客小白月赛104 C-小红打怪

    小红打怪 答案有单调性,使用二分答案来做 但是当时没有想到用二分,而是卡在怎么处理这三种攻击了. 可以把进行x回合的攻击,分为先进行x回合的全体打击,再进行x回合的范围打击,最后验证剩余血量够不够x回 ...

  10. 子图,生成子图(Spanning Subgraph),导出子图(Induced Subgraph)的定义

    原图G用\(G=(V,E)\)表示,\(V\)是\(G\)中的所有顶点的集合:\(E\)是\(G\)中所有边的集合. 子图 定义:子图\(G '\)中的所有顶点和边均包含于原图\(G\).即\(E'∈ ...