MySQL数据库密码忘记解决办法(win10系统下Mysql8)

笔者所讲的是在win10系统下MySQL-8初始密码忘记后如何重新设置密码的办法。(今日在网上试过多种办法后结合自己的实际操作总结出一版,希望能够帮助到需要的人)

总概:大致流程

一、关闭MySQL服务
二、跳过授权表
三、免密登录
四、修改root密码为空
五、启动MySQL服务,登录
六、修改root密码,修改成功后退出重新登录测试是否成功

步骤一:以管理员身份运行控制台,关闭MySQL服务。

使用命令:net stop mysql

步骤二:跳过授权表,进行免密登录。

使用命令:mysqld --console --skip-grant-tables --shared-memory

这一步是最为关键的一步,我自己操作时在这一步上卡了很久,很多博客上使用的都是mysqld --console --skip-grant-tables,但并没有效果,使用命令mysqld --console --skip-grant-tables --shared-memory 后才可以。


关闭MySQL服务并跳过授权表
步骤三:用管理员身份新打开一个控制台窗口,然后免密码登录Mysql。

使用命令:
mysql.exe -u root

使用MySQL的mysql数据库,使用命令:
use mysql


免密登录MySQL
步骤四:修改root的密码为空

使用命令:
UPDATE mysql.user SET authentication_string= '' WHERE user="root";

注意两点:
1、authentication_string=‘’的等号后面是一对单引号;
2、user="root"中的root是被双引号引的,我在其他博客中看到有的是被单引号引着的,这个大家在一种不行的时候再试试另外一种。

root密码置空之后检查一下。查询root的用户分组和密码:
使用命令:
select host,user,authentication_string from mysql.user;
修改之后可以看到,root用户的密码已经为空。

确认root登录密码是否为空
步骤五:启动MySQL服务,登录MySQL

然后再打开一个新的窗口,启动MySQL的服务。
使用命令:net start mysql

登录MySQL,需要输入密码的时候,什么都不用输入直接按回车。
使用命令:mysql -u root -p

步骤六:修改root密码

修改root密码:
使用命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

执行成功之后密码就修改成功了。

注意一点:'root'@'localhost'中root的host最好是自己查询确认下:
使用命令:
1、 use mysql

2、select user,host from user;


查询root的host

最后使用命令quit退出,使用登录命令:
mysql -u root -p
回车之后输入密码,看密码是否修改成功。

参考博客链接:
https://blog.csdn.net/weixin_43142423/article/details/85072342

https://blog.csdn.net/qq_34696203/article/details/101065814

大家在参考时如果有什么问题可以提出,优化本文章,以便节省其他更多人的时间,谢谢!

你可能感兴趣的:(MySQL数据库密码忘记解决办法(win10系统下Mysql8))