Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > mysql8.0忘记密码

mysql8.0忘记密码的处理及解决

作者:佑枳

MySQL 8.0忘记密码后重置密码的方法:关闭MySQL服务,在管理员模式的cmd下输入以下代码跳过密码验证,然后在另一个cmd界面输入以下代码进入MySQL,使用mysql数据表清空密码,再关闭第一个界面,输入以下代码修改密码,最后重启MySQL服务

mysql8.0忘记密码后重置密码

常规的mysql重置密码就是在my.ini中添加–skip-grant-tables的方法来跳过密码验证从而连接数据库修改密码。

但是在mysql8.0中已经失效,这里就讲解另一种方式。

上方法

注意:

  1. 首先通用办法,关闭mysql服务,在管理员模式的cmd下输入以下代码:
net stop mysql
  1. 当我们关闭服务之后就可以进行跳过密码验证了,输入以下代码:
mysqld --console --skip-grant-tables --shared-memory

然后会提示以下界面,当然因为本人这里安装两个版本的mysql所以就没有配置环境变量

  1. 这个时候不要关闭这个cmd界面,重新打开一个cmd界面,输入以下代码:
mysql -uroot -p

这个时候直接回车,不用输入密码就会进入mysql

  1. 进入mysql后我们先使用mysql数据表,把密码清空(8.0不能直接修改密码,需要先把密码清空,否则会报错)
use mysql;(不要忘记分号)
update user set authentication_string='' where user='root';
exit;
  1. 然后我们关闭第一个界面(跳过密码的界面),然后再第二个界面输入以下代码:
net start mysql(开启mysql服务)
mysql -uroot -p(登陆mysql)

我这边因为是两个mysql所以服务名不一下,mysql默认服务名是mysql

  1. 然后就是修改密码的语句了
alter user 'root'@'localhost' identified with mysql_native_password by '这里填写你想设置的密码';
flush privileges;(刷新权限)
  1. 最后重启mysql服务,进行登陆就行了
net stop mysql;
net start mysql;(这里我是习惯性重启,因为上面有刷新权限,所以不重启也行)
mysql -uroot -p

然后mysql8.0修改密码就好了,是不是很简单呢。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文