windows下 mysql8忘记密码

1.关闭MySQL服务

以管理员身份运行,在控制台执行net stop mysql,关闭MySQL服务

image.png

2.跳过授权表

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

image.png

3.免密登录

另外打开一个cmd端口,先前的窗口先不关,执行mysql -u root -p,提示输入密码,直接回车即可

image.png

4.修改root密码为空

再执行use mysql,再执行UPDATE mysql.user SET authentication_string= '' WHERE user="root";将密码设置为空

image.png

select host,user,authentication_string from mysql.user;
image.png

这里要注意的是用户表中有时候会把root的host设置为0.0.0.0,如果上图中root用户的host是0.0.0.0,这时候就需要多一步操作,执行UPDATE mysql.user SET host= 'localhost' WHERE user="root";

5.启动MySQL服务,登录并更改密码

关闭第2步打开的cmd端口(执行过mysqld --console --skip-grant-tables --shared-memory的窗口),执行net start mysql ,再执行mysql -u root -p,直接回车,执行ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';执行完后退出

6.登录验证

如图所示,密码修改成功

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。