mysql8.0忘记密码后重置密码
常规的mysql重置密码就是在my.ini中添加–skip-grant-tables的方法来跳过密码验证从而连接数据库修改密码。
但是在mysql8.0中已经失效,这里就讲解另一种方式。
上方法
注意:
- 以下代码输入都在确保已经配置mysql环境变量的情况下输入
- 如果没有配置环境变量请在管理员模式下的cmd中进入mysql安装目录下的bin文件夹
- 首先通用办法,关闭mysql服务,在管理员模式的cmd下输入以下代码:
net stop mysql
- 当我们关闭服务之后就可以进行跳过密码验证了,输入以下代码:
mysqld --console --skip-grant-tables --shared-memory
然后会提示以下界面,当然因为本人这里安装两个版本的mysql所以就没有配置环境变量

- 这个时候不要关闭这个cmd界面,重新打开一个cmd界面,输入以下代码:
mysql -uroot -p
这个时候直接回车,不用输入密码就会进入mysql

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

- 然后就是修改密码的语句了
alter user 'root'@'localhost' identified with mysql_native_password by '这里填写你想设置的密码'; flush privileges;(刷新权限)
- 最后重启mysql服务,进行登陆就行了
net stop mysql; net start mysql;(这里我是习惯性重启,因为上面有刷新权限,所以不重启也行) mysql -uroot -p
然后mysql8.0修改密码就好了,是不是很简单呢。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论