MySQL密码忘记,如何跳过密码参数,重置密码

引言

有时候我们可能忘记自己设置的mysql的密码或者有人改动过密码有没告诉你,这时候急着用这个数据库里的东西,因为数据在里面而你又没有备份(T_T),比如我就遇到了这样的情况,经过查阅和尝试操作,成功修改mysql密码,在这里整理一下方法:
【PS】多说一句,数据库一定要定期备份!不光是防止密码忘记,也防止物理丢失的情况,那可是无法挽回的损失!

言归正传

第一步:配置mysql环境

就是在环境变量PATH里把mysql的bin目录的地址写进去,这样直接以管理员运行cmd,输入mysql或者mysqld可以直接运行
【PS】:这里不配置也是可以的,可以cd到mysql的bin目录在运行mysql和mysqld,只是配置了方便一些而已。记得环境变量;号隔开

这里写图片描述

第二步:运行mysqld

运行mysqld,直接在cmd中输入mysqld –skip-grant-tables,如果未配置环境的话是.\mysqld –skip-grant-tables
【PS】:注意,在输入此命令之前,你需要先关闭的mysql服务,无论是mysql还是mysqld服务都需要关闭,可以在任务管理器中关闭

第三步:运行mysql

再输入mysqld –skip-grant-tables后命令行会卡住,这是在启动一个cmd,键入mysql,这是会成功跳过密码的输入,直接进入mysql中去

第四步:就是修改mysql@root的密码

在mysql数据库的user表中存着用户的信息,其中就包含密码。
在mysql数据库中键入:>

update user set password
=password('你的密码') where 
user='root' and host='localhost';

密码就可以修改了
【PS】:mysql的高版本中把user表中的password字段换成了authentication_string,所以如果出现提示:ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’
说明你的mysql是高版本的,把password改为authentication_string就好了
命令为>

update user set authentication_string
=password('你的密码') where user='root'
and host='localhost';

疑问

不知道为什么,这种方法好像是一次性的,也就是说修改完密码后,在想通过这种方式跳过密码参数而直接连接mysql,好像是不可以了。我猜想也有可能和时限有关,mysql虽然可以用这种方法重置密码,但是有时间间隔的限制。



持续更新,我找到答案的时候,再来更新。有大神能解答,欢迎在评论区解答。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

angelavor

觉得有收获,给我个三连吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值