MySql重置root密码 --skip-grant-tables


Posted in MySQL onApril 11, 2022

前言

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

项目场景:

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

操作系统:windows server 2019 数据中心版本

MySql:经典安装 MySql 5.6

MySql重置root密码 --skip-grant-tables

问题描述

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

MySql重置root密码 --skip-grant-tables

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

1.停止mysql服务

MySql重置root密码 --skip-grant-tables

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

MySql重置root密码 --skip-grant-tables

3.登录并修改密码

MySql重置root密码 --skip-grant-tables

MySql重置root密码 --skip-grant-tables

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

MySql重置root密码 --skip-grant-tables

尝试登陆

MySql重置root密码 --skip-grant-tables

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

原因分析:

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

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

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

解决方案:

1.正常关闭mysql服务

MySql重置root密码 --skip-grant-tables

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服务,右键属性就可以看到这个路径了

MySql重置root密码 --skip-grant-tables

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

MySql重置root密码 --skip-grant-tables

启动成功

3. 修改密码

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

MySql重置root密码 --skip-grant-tables

连接成功

修改密码

MySql重置root密码 --skip-grant-tables

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

MySql重置root密码 --skip-grant-tables

4. 尝试登陆

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

MySql重置root密码 --skip-grant-tables

发现已经连接成功。

MySQL 相关文章推荐
数据库的高级查询六:表连接查询:外连接(左外连接,右外连接,UNION关键字,连接中ON与WHERE的不同)
Apr 05 MySQL
MySQL完整性约束的定义与实例教程
May 30 MySQL
MySQL 数据恢复的多种方法汇总
Jun 21 MySQL
SQL之各种join小结详细讲解
Aug 04 MySQL
MySQL基础快速入门知识总结(附思维导图)
Sep 25 MySQL
实战 快速定位MySQL的慢SQL
Mar 22 MySQL
mysql中数据库覆盖导入的几种方式总结
Mar 25 MySQL
MySQL数据库优化之通过索引解决SQL性能问题
Apr 10 MySQL
以MySQL5.7为例了解一下执行计划
Apr 13 MySQL
MySQL数据库如何查看表占用空间大小
Jun 10 MySQL
MySQL生成千万测试数据以及遇到的问题
Aug 05 MySQL
MySql按时,天,周,月进行数据统计
Aug 14 MySQL
MySQL库表太大怎么办? 数据库分库分表项目实践
排查MySQL生产环境索引没有效果
Apr 11 #MySQL
排查并解决MySQL生产库内存使用率高的报警
Apr 11 #MySQL
Windows下载并安装MySQL8.0.x 版本的完整教程
MySQL数据库优化之通过索引解决SQL性能问题
Apr 10 #MySQL
MySQL 外连接语法之 OUTER JOIN
Apr 09 #MySQL
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
Apr 09 #MySQL
You might like
php5.3 废弃函数小结
2010/05/16 PHP
基于php下载文件的详解
2013/06/02 PHP
PHP实现支持SSL连接的SMTP邮件发送类
2015/03/05 PHP
php使用preg_match()函数验证ip地址的方法
2017/01/07 PHP
PHP使用SOAP调用API操作示例
2018/12/25 PHP
PHP封装的mysqli数据库操作类示例
2019/02/16 PHP
PHP读取文件或采集时解决中文乱码
2021/03/09 PHP
js下用eval生成JSON对象
2010/09/17 Javascript
jquery中event对象属性与方法小结
2013/12/18 Javascript
页面加载完成后再执行JS的jquery写法以及区别说明
2014/02/22 Javascript
Linux下使用jq友好的打印JSON技巧分享
2014/11/18 Javascript
浅谈Javascript中的Function与Object
2015/01/26 Javascript
Bootstrap轮播插件简单使用方法介绍
2016/06/21 Javascript
jQuery EasyUI菜单与按钮详解
2016/07/13 Javascript
MUI  Scroll插件的使用详解
2017/04/13 Javascript
JavaScript数组的5种迭代方法
2017/09/29 Javascript
Laravel admin实现消息提醒、播放音频功能
2019/07/10 Javascript
微信小程序仿淘宝热搜词在搜索框中轮播功能
2020/01/21 Javascript
[03:14]辉夜杯主赛事 12月25日每日之星
2015/12/26 DOTA
Python数据可视化库seaborn的使用总结
2019/01/15 Python
Python之列表实现栈的工作功能
2019/01/28 Python
django 消息框架 message使用详解
2019/07/22 Python
宝拉珍选澳大利亚官方购物网站:Paula’s Choice澳大利亚
2016/09/13 全球购物
介绍一下常见的木马种类
2014/11/15 面试题
介绍一下EJB的体系结构
2012/08/01 面试题
自我鉴定写作要点
2014/01/17 职场文书
幼儿园小班植树节活动方案
2014/03/04 职场文书
关于祖国的演讲稿
2014/05/04 职场文书
竞选班干部演讲稿600字
2014/08/20 职场文书
技术负责人岗位职责
2015/02/10 职场文书
行政经理岗位职责
2015/04/15 职场文书
队名及霸气口号大全
2015/12/25 职场文书
2016个人先进事迹材料范文
2016/03/01 职场文书
在pyCharm中下载第三方库的方法
2021/04/18 Python
解决Pytorch半精度浮点型网络训练的问题
2021/05/24 Python
SQL Server删除表中的重复数据
2022/05/25 SQL Server