Win MySQL 80 忘记密码 密码重置 及重置时异常解决方案

1. 打开管理员终端cmd窗口
输入

net stop mysql80

请添加图片描述
2. 开启跳过密码验证登录的MySQL服务
输入以下命令执行后该命令框会出现很多执行代码,并阻塞,不要关闭该窗口。

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

如执行完上述命令,没有发生以下意外情况直接跳到第三步。

  • 意外情况:没有阻塞,显示的内容包含OS errno: 2 - No such file or directory 代表服务启动失败。
    MySQL8.0后默认的datadir位于C:\ProgramData\MySQL\MySQL Server 8.0\Data,但上述方式启动的mysqld默认datadir有可能不是指向这个目录,又或者你手动改过,所以就启动不了
    如下图

请添加图片描述

  • 意外解决方法:
    这里我们使用–datadir把其目录指向你的MySQL Server 8.0\Data所在目录
# 默认为`C:\ProgramData\MySQL\MySQL Server 8.0\Data`,手动改过的情况下替换以下路径
mysqld --skip-grant-tables --console --datadir="C:/ProgramData/MySQL/MySQL Server 8.0/Data"
# 继续启动免密登录服务
mysqld --skip-grant-tables --console --datadir="C:/ProgramData/MySQL/MySQL Server 8.0/Data" --shared-memory

请添加图片描述
服务启动成功后窗口不要关。
3. 再打开一个新的cmd窗口无密码登录MySQL
输入登录命令,直接两下回车Enter

mysql -u root -p

成功进入mysql命令行
img

在mysql命令行,执行sql命令,以切换到mysql系统数据库

use mysql

先把密码制空

update user set authentication_string='' where user='root';

在这里插入图片描述
退出mysql,并关闭第一个打开的cmd窗口。至此密码已经设为空,如想要修改的话继续看第4步
4. 打开新的cmd窗口,启动MySQL服务

net start mysql

启动后使用空密码 两下Enter 直接登录

mysql -uroot -p

这里示范修改密码为123456

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

在这里插入图片描述
至此密码修改成功

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

CtrlCV工程师

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值