MYSQL 8.0+ 忘记密码或修改密码的方法

很早前安装了MYSQL,现在由于需要使用MYSQL但忘记密码,我在网上搜到凌晨一点,网上大部分的方法都是通过在My.ini或是My_default.ini中添加–skip-grant-tables的方法来实现跳过Mysql密码来连接数据库,并更改密码。这些方法对我来说都不适用。最后综合两篇博客,我找到了一种可靠的方法,便记录下来以防之后又忘记密码。

修改密码

记得原密码情况下,修改新密码:
登录到数据库后,输入

set password for 用户名@localhost = '新密码';  

如图所示:

修改root@localhost用户的密码为admin:

set password for root@localhost = 'admin';

在这里插入图片描述

忘记密码后重置密码

第一步:关闭mysql服务

  1. 使用管理员身份打开cmd,将目录从默认c盘位置切换到mysqld.exe的安装目录,我的是默认安装目录:C:\Program Files\MySQL\MySQL Server 8.0\bin
cd C:\Program Files\MySQL\MySQL Server 8.0\bin
  1. cmd输入命令: net stop mysql,确保关闭mysql服务

(如果此处报错,可能是MySQL服务名称 不是MySQL,我的MySQL服务名称 为 MySQL80,所以我使用 net stop mysql80 命令关闭mysql服务)

net stop mysql

在这里插入图片描述

第二步:跳过Mysql密码验证

关闭Mysql服务之后,继续在C:\Program Files\MySQL\MySQL Server 8.0\bin目录下进行操作
输入

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

在输入这行代码后,已经成功跳过Mysql的密码登录了

在这里插入图片描述

第三步:无密码方式进入Mysql

再打开一个管理员模式运行的cmd.exe,进入mysql下的bin目录后,以无账号密码方式登录MySQL,然后重置数据库系统 root用户的密码为admin

  1. 输入下列命令行,以无账号密码方式登录MySQL
cd C:\Program Files\MySQL\MySQL Server 8.0\bin
mysql

在这里插入图片描述

  1. 刷新系统权限,输入
flush privileges;

在这里插入图片描述

  1. 重置密码,set password for root@localhost=‘新密码’;
    以设置新密码为admin为例,输入
set password for root@localhost='admin';

在这里插入图片描述
最后大功告成,重置密码成功!
在这里插入图片描述

参考链接

  1. https://blog.csdn.net/qq_43342301/article/details/91288891
  2. https://www.cnblogs.com/Lints/p/11506902.html

如果有帮助?希望来个三连击,给更多的人看到这篇文章

1、关注我的原创微信公众号「程序猿的进阶」,主要是IT与竞赛

2、创作不易,顺便点个赞呗,可以让更多的人看到这篇文章,激励一下我这个小白

发布了109 篇原创文章 · 获赞 128 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/JAck_chen0309/article/details/104645940