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 相关文章推荐
mysql多表查询-笔记七
Apr 05 MySQL
一文读懂navicat for mysql基础知识
May 31 MySQL
mysql 带多个条件的查询方式
Jun 05 MySQL
Mysql 如何查询时间段交集
Jun 08 MySQL
Mysql8.0递归查询的简单用法示例
Aug 04 MySQL
Mysql中where与on的区别及何时使用详析
Aug 04 MySQL
深入解析MySQL索引数据结构
Oct 16 MySQL
MySQL中CURRENT_TIMESTAMP的使用方式
Nov 27 MySQL
MYSQL优化之数据表碎片整理详解
Apr 03 MySQL
Windows 64位 安装 mysql 8.0.28 图文教程
Apr 19 MySQL
MySQL GTID复制的具体使用
May 20 MySQL
MYSQL中文乱码问题的解决方案
Jun 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
php中iconv函数使用方法
2008/05/24 PHP
php 获取客户端的真实ip
2009/11/30 PHP
php图片上传存储源码并且可以预览
2011/08/26 PHP
使用PHP实现密保卡功能实现代码<打包下载直接运行>
2011/10/09 PHP
php中判断文件存在是用file_exists还是is_file的整理
2012/09/12 PHP
php实现mysql数据库连接操作及用户管理
2015/11/08 PHP
php实现PDO中捕获SQL语句错误的方法
2017/02/16 PHP
php图片裁剪函数
2018/10/31 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
JQuery的Ajax中Post方法传递中文出现乱码的解决方法
2014/10/21 Javascript
详解JavaScript异步编程中jQuery的promise对象的作用
2016/05/03 Javascript
Active控件问题小结(附解决办法)
2016/06/09 Javascript
jQuery与JS加载事件用法分析
2016/09/04 Javascript
js获取当前页的URL与window.location.href简单方法
2017/02/13 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
微信小程序中做用户登录与登录态维护的实现详解
2017/05/17 Javascript
微信小程序点击控件修改样式实例详解
2017/07/07 Javascript
Angular实现的简单定时器功能示例
2017/12/28 Javascript
关于jquery中attr()和prop()方法的区别
2018/05/28 jQuery
Vue+Node实现的商城用户管理功能示例
2019/12/23 Javascript
JavaScript接口实现方法实例分析
2020/05/16 Javascript
原生js实现移动小球(碰撞检测)
2020/12/17 Javascript
Python模块学习 re 正则表达式
2011/05/19 Python
远程部署工具Fabric详解(支持Python3)
2019/07/04 Python
python tkinter组件使用详解
2019/09/16 Python
python如何通过twisted搭建socket服务
2020/02/03 Python
Python 打印自己设计的字体的实例讲解
2021/01/04 Python
浏览器实现移动端高性能css3动画(开启gpu加速)
2013/12/23 HTML / CSS
介绍一下Prototype的$()函数,$F()函数,$A()函数都是什么作用?
2014/03/05 面试题
财务会计专业求职信
2014/06/09 职场文书
质量保证书怎么写
2015/02/27 职场文书
撤诉申请怎么写
2015/05/19 职场文书
2019新员工心得体会
2019/06/25 职场文书
MySQL实例精讲单行函数以及字符数学日期流程控制
2021/10/15 MySQL
mysql查询结果实现多列拼接查询
2022/04/03 MySQL
MYSQL如何查看操作日志详解
2022/05/30 MySQL