mysql-8.0.30最新密码重置方法,看这一篇就够了

        博主自己多次忘记自己本地MySQL的密码,多次《删库跑路》,现写下这篇技术贴,一来是为后续网友们遇到相同问题可以少走弯路,二来是给自己做一个备忘录。

        之前查阅了很多关于更改MySQL密码的方式是在my.ini中注释掉skip-grant-tables,亲测无效,原因是这个功能在mysql8.0版本之后不再有效,算是一个bug被修复了。

这个旧的重置密码的操作,已失效!

        正确方式如下:

        1.首先进入到MySQL所在路径的bin文件夹,我这里是在F盘下:

 要在管理员模式下进入CMD或者power shell,我这里以powershell为例。

1.进入MySQL的可执行文件(exe)所在目录:

cd F:\mysql-8.0.30-winx64\bin

2.停止当前MySQL的服务

net stop mysql

3.进入MySQL安全模式

.\mysqld --console --skip-grant-tables --shared-memory

若为下图界面,则说明你还未暂停当前MySQL服务,需要执行步骤2:

 若为下图界面,则说明成功进入安全模式:

 此时,切勿关闭当前页面。重新开启一个管理员模式下的CMD或者powershell,然后再次执行该语句以进入MySQL可执行文件所在目录:

 cd F:\mysql-8.0.30-winx64\bin

此时,输入

 .\mysql

看到下图界面,即说明已经绕过登陆密码成功进入MySQL:

此时,输入下面的语句,用以切换数据库

USE mysql;
--切换数据库到MySQL用户鉴权信息所在base

此为,当前数据库中映射的登录用户信息

根据网友经验需要先将密码置空,然后刷新权限,最后再设置密码。

方法为依次属于下列语句:

 update user set authentication_string='' where user='root';
--此句作用是root用户的密码设置为空
flush privileges;
--此句作用是刷新权限,必须执行
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
--此句作用是将root用户的密码修改为123456

若出现以下界面,则说明操作成功:

最后,关闭另一个管理员模式下的CMD或powershell(此前维持MySQL安全模式的),在本窗口继续输入quit即可退出MySQL:

执行下列语句,重启MySQL服务:

net start mysql

 输入下列语句,输入之前重置的密码(本例中为123456)后即可进入MySQL:

 .\mysql -uroot -p

 成功效果如下:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值