记一次MySql重置root密码无效

虚幻大学 xuhss 177℃ 0评论

Python微信订餐小程序课程视频

https://blog.csdn.net/m0_56069948/article/details/122285951

Python实战量化交易理财系统

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

项目场景:

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

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

在这里插入图片描述

问题描述

问题就是:使用--skip-grant-tables跳过权限,然后使用update修改root密码后,使用 FLUSH PRIVILEGES;刷新,使用新密码连接mysql提示密码错误,无非登录
watermark,type d3F5LXplbmhlaQ,shadow 50,text Q1NETiBA5byR5aSp5YC 5Z O,size 20,color FFFFFF,t 70,g se,x 16 - 记一次MySql重置root密码无效
下面是我重置密码的过程,大家也可以参考下,看看是不是有忽略的地方

  1. 停止mysql服务
    watermark,type d3F5LXplbmhlaQ,shadow 50,text Q1NETiBA5byR5aSp5YC 5Z O,size 20,color FFFFFF,t 70,g se,x 16 - 记一次MySql重置root密码无效
  2. 使用--skip-grant-tables跳过权限启动
    watermark,type d3F5LXplbmhlaQ,shadow 50,text Q1NETiBA5byR5aSp5YC 5Z O,size 20,color FFFFFF,t 70,g se,x 16 - 记一次MySql重置root密码无效
  3. 登录并修改密码
    watermark,type d3F5LXplbmhlaQ,shadow 50,text Q1NETiBA5byR5aSp5YC 5Z O,size 20,color FFFFFF,t 70,g se,x 16 - 记一次MySql重置root密码无效
    watermark,type d3F5LXplbmhlaQ,shadow 50,text Q1NETiBA5byR5aSp5YC 5Z O,size 20,color FFFFFF,t 70,g se,x 16 - 记一次MySql重置root密码无效
  4. 关闭mysql进程及命令行窗口,重新启动mysql服务,尝试登陆
    watermark,type d3F5LXplbmhlaQ,shadow 50,text Q1NETiBA5byR5aSp5YC 5Z O,size 20,color FFFFFF,t 70,g se,x 16 - 记一次MySql重置root密码无效
    尝试登陆
    watermark,type d3F5LXplbmhlaQ,shadow 50,text Q1NETiBA5byR5aSp5YC 5Z O,size 20,color FFFFFF,t 70,g se,x 16 - 记一次MySql重置root密码无效
    明明密码修改成功了,密码也输入成功了,结果却在登陆的时候无发登陆成功

原因分析:

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

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

解决方案:

  1. 正常关闭mysql服务
    watermark,type d3F5LXplbmhlaQ,shadow 50,text Q1NETiBA5byR5aSp5YC 5Z O,size 20,color FFFFFF,t 70,g se,x 16 - 记一次MySql重置root密码无效
  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服务,右键属性就可以看到这个路径了
watermark,type d3F5LXplbmhlaQ,shadow 50,text Q1NETiBA5byR5aSp5YC 5Z O,size 20,color FFFFFF,t 70,g se,x 16 - 记一次MySql重置root密码无效
前面是mysqld的启动程序位置,后面是指定mysql的配置文件也就是my.ini文件
watermark,type d3F5LXplbmhlaQ,shadow 50,text Q1NETiBA5byR5aSp5YC 5Z O,size 20,color FFFFFF,t 70,g se,x 16 - 记一次MySql重置root密码无效
启动成功

  1. 修改密码
    开启新命令行窗口,连接mysql
    watermark,type d3F5LXplbmhlaQ,shadow 50,text Q1NETiBA5byR5aSp5YC 5Z O,size 20,color FFFFFF,t 70,g se,x 16 - 记一次MySql重置root密码无效
    连接成功
    修改密码
    watermark,type d3F5LXplbmhlaQ,shadow 50,text Q1NETiBA5byR5aSp5YC 5Z O,size 20,color FFFFFF,t 70,g se,x 16 - 记一次MySql重置root密码无效
    修改成功,退出登陆,重启mysql服务
    03d21898e08046b4b86e5625b4e2006a - 记一次MySql重置root密码无效
  2. 尝试登陆
    启动成功,尝试使用新密码进行登陆
    watermark,type d3F5LXplbmhlaQ,shadow 50,text Q1NETiBA5byR5aSp5YC 5Z O,size 20,color FFFFFF,t 70,g se,x 16 - 记一次MySql重置root密码无效
    发现已经连接成功
    CSDN地址:“https://blog.csdn.net/KH_FC/article/details/124091758?spm=1001.2014.3001.5502”,这个博客也是我的哦

转载请注明:xuhss » 记一次MySql重置root密码无效

喜欢 (0)

您必须 登录 才能发表评论!