说起这个事情吧也相对来说比较尴尬,对于一个技术来说忘记密码然后找回密码都是相当简单的一个事情,但是在生产环境中没有保存记录只能是自己的失职,尴尬就尴尬在明明重置成功了却没有生效,弄得好几个工程师在哪里挠头!!!也是经过不断得摸索测试方案最后也是解决了这个问题,下面就简单跟大家分享一下:

项目场景:

这个场景比较简单,因为我们是测试环境嘛,所以也就只有一台MySql数据库,只需要对这个数据库进行密码修改就可以了,而且也不用担心搞坏得问题,再一个最最最最重要得就是它可以随时进行重启,不需要考虑业务情况,当然在生产环境大家一定要考虑时间空档期,不然数据丢失就很麻烦了,而且操作的又是数据库,就相当于在脑袋上开刀一样,废话不多说了下面是环境情况:

操作系统:windows server 2019 数据中心版本
MySql:经典安装 MySql 5.6

问题描述

问题就是:使用--skip-grant-tables跳过权限,然后使用update修改root密码后,使用 FLUSH PRIVILEGES;刷新,使用新密码连接mysql提示密码错误,无非登录



下面是我重置密码的过程,大家也可以参考下,看看是不是有忽略的地方

  1. 停止mysql服务

  2. 使用--skip-grant-tables跳过权限启动

  3. 登录并修改密码



  4. 关闭mysql进程及命令行窗口,重新启动mysql服务,尝试登陆



    尝试登陆



    明明密码修改成功了,密码也输入成功了,结果却在登陆的时候无发登陆成功

原因分析:

经我们几个人的不断测试,不断尝试,最终发现由于--skip-grant-tables这个参数造成的,其实说白了这个就是启动时生效了但是没有指定mysql的配置文件,所以这个模式下的所有操作都是无效的,设置成功了也不会修改真正的数据库文件的,也就是你把这个进程关掉了,他自己也就把数据还原回之前的了,这个跟mysql的安装方式也有关的,采用mysql免安装版本用以上操作就可以生效,但是按照版本就无法生效的,我已经尝试多个版本都是这样。

也可能不是这个原因,有异议的小伙伴欢迎大家留言一起探讨哦

下面是需要修改的跳过权限启动的命令

mysqld.exe --defaults-file="my.ini路径" --skip-grant-tables

解决方案:

  1. 正常关闭mysql服务

  2. 设置跳过权限启动mysql(这里是和之前操作不一样的地方)
mysqld.exe --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" --skip-grant-tables

--defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" //这个直接在服务中找到mysql服务,右键属性就可以看到这个路径了



前面是mysqld的启动程序位置,后面是指定mysql的配置文件也就是my.ini文件



启动成功

3. 修改密码

开启新命令行窗口,连接mysql



连接成功

修改密码



修改成功,退出登陆,重启mysql服务



4. 尝试登陆

启动成功,尝试使用新密码进行登陆



发现已经连接成功

CSDN地址:“https://blog.csdn.net/KH_FC/article/details/124091758?spm=1001.2014.3001.5502”,这个博客也是我的哦

记一次MySql重置root密码无效的更多相关文章

  1. MySQL密码忘了怎么办?MySQL重置root密码方法

    本文主要介绍Windows和Linux系统下忘记密码重置root密码的方法,需要的朋友可以参考下. MySQL有时候忘记了root密码是一件伤感的事.这里提供Windows 和 Linux 下的密码重 ...

  2. MySql登陆密码忘记了怎么办?MySQL重置root密码方法

    本文主要介绍Windows和Linux系统下忘记密码重置root密码的方法,需要的朋友可以参考下. MySQL有时候忘记了root密码是一件伤感的事.这里提供Windows 和 Linux 下的密码重 ...

  3. MySQL重置root密码的几种方法(windows+Linux)

    重置root密码的方法: windows系统下:1.停止mysql服务:2.新建文件init-root.txt,写上如下内容: update mysql.user set password = pas ...

  4. MySQL重置root密码提示"Unknown column ‘password"的问题?

    晚上打开MAC,发现root帐户突然不能正常登陆MySQL,于是打算重置密码,看了几篇文章,竟然重置不成功,总是得到Unknown column 'password'的错误,看了user的表结构也确实 ...

  5. mysql 重置root密码

    最近又项目用到mysql 由于电脑上mysql是很久以前安装的root密码忘记了, 百度一下重置密码 Windows: 1.以系统管理员登陆: 2.停止MySQL服务: 3.进入CMD,进入MySQL ...

  6. Kali Linux中MySQL重置root密码

    参考:使用mysqladmin命令修改MySQL密码与忘记密码 前言:(在Windows的DOS命令行下和在kali Linux下修改方法是一样的)在kali Linux中默认安装了MySQL的最新版 ...

  7. Windows和Linux下Mysql 重置root 密码

    Windows系统下一:进入Windows窗口cmd命令行下,停止mysql服务: net stop mysql二:进入mysql的安装目录下,进去bin目录mysqld-nt.exe --skip- ...

  8. xampp中mysql重置root密码

    1.  停止mysql:用图形化工具或者在cmd命令下输入net stop mysql,在c盘根目录下输入 2.  打开cmd,切换目录到 /xampp/mysql/bin, 运行    mysqld ...

  9. mysql重置root密码,并设置可远程访问

    linux系统: mysqld_safe --skip-grant-tables & mysql -u root use mysql UPDATE user SET host = '%' wh ...

随机推荐

  1. 5月8日 python学习总结 mysql 建表操作

    一 .创建表的完整语法 create table 表名( 字段名1 类型[(宽度) 约束条件],字段名2 类型[(宽度) 约束条件],字段名3 类型[(宽度) 约束条件]); 解释: 类型:使用限制字 ...

  2. SpringDoc-OpenApi与Fastjson冲突——FastJsonHttpMessageConverter对String的默认处理

    我的项目中默认是这样使用FastJsonHttpMessageConverter的: @Override public void configureMessageConverters(List< ...

  3. 查看Linux系统、Apche、Nginx、 MySQL 、 PHP 版本

    1. 查看Linux版本: uname -a: more /etc/issue; cat /proc/version; 2. 查看Mysql版本: 在终端下执行 mysql -V #V必须大写 在he ...

  4. python练习册 每天一个小程序 第0000题

    PIL库学习链接:http://blog.csdn.net/column/details/pythonpil.html?&page=1 1 #-*-coding:utf-8-*- 2 __au ...

  5. AOP详解之三-创建AOP代理后记,创建AOP代理

    AOP详解之三-创建AOP代理后记,创建AOP代理. 上篇文章已经获取到了AOP的信息,接下来就是拿着这些AOP的信息去创建代理了. 首先我们看下创建AOP代理的入口处. //这个方法将返回代理类 p ...

  6. 2、DTO(数据传输对象)

    DTO:Data Transfer Object 即数据传输对象. 有些人会问这个DTO是干嘛的,不是已经有了Model实体类了么? 首先说一下,DTO是干嘛了.DTO的引入,应该说是伴随着分层架构设 ...

  7. Citus 分布式 PostgreSQL 集群 - SQL Reference(创建和修改分布式表 DDL)

    创建和分布表 要创建分布式表,您需要首先定义表 schema. 为此,您可以使用 CREATE TABLE 语句定义一个表,就像使用常规 PostgreSQL 表一样. CREATE TABLE ht ...

  8. C++ TCHAR* 与char* 互转

    C++ TCHAR* 与char* 互转 在MSDN中有这么一段: Note: The ANSI code pages can be different on different computers, ...

  9. Mybatis 是如何进行分页的?分页插件的原理是什么?

    Mybatis 使用 RowBounds 对象进行分页,它是针对 ResultSet 结果集执行的内 存分页,而非物理分页.可以在 sql 内直接书写带有物理分页的参数来完成物理分 页功能,也可以使用 ...

  10. yarn上运行flink环境搭建

    主要完成hadoop集群搭建和yarn上运行flink 1.搭建hadoop伪集群 主要是搭建hadoop MapReduce(yarn)和HDFS 1.1 下载&配置环境变量 这里下载的ha ...