Mysql 8.0重置数据库密码,史上最全步骤!

1 篇文章 0 订阅
1 篇文章 0 订阅

1.关闭Mysql服务

在这里插入图片描述

2 管理员运行 cmd窗口,并进入mysql目录

在这里插入图片描述

3 以安全模式启动启动Mysql

 **注意:**由于mysqld –skip-grant-tables
 实测在mysql8.0中已失效,
 现使用mysqld --console --skip-grant-tables --shared-memory

在这里插入图片描述至此此CMD窗口放置不动 ,不要关闭,重现管理员身份打开新的CMD

4 登陆mysql服务(另外新开一个cmd窗口)

mysql -uroot -p
提示输入密码时直接回车。在这里插入图片描述
MySql 从8.0开始修改密码,在user表加了字段authentication_string,修改密码前先置为空

use mysql; 
 
update user set authentication_string='' where user='root';--将字段置为空
 
ALTER user 'root'@'localhost' IDENTIFIED BY 'root';

到了这一步你以为大功告成了吗?
错!
你可能会发现报了个错
在这里插入图片描述

这是为什么呢 ?

mysql> use mysql;
查询一下user 表
mysql> select user,host from user;

你会发现

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| root             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
+------------------+-----------+

注意我的root,host是'%'

修改语句

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
如果还是失败
mysql> flush privileges;
刷新一下权限表再执行修改语句

在这里插入图片描述
大功告成 !!!!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值