前言
本文使用的是mysql-8.0.26-winx64,解决思路是先让MySQL可以跳过密码验证,登陆后将密码修改成新的。
解决步骤
跳过验证将密码置空
【CMD窗口1】停止服务,然后前台启动服务并跳过验证。
# 停止服务
net stop mysql
# 前台启动服务并跳过验证
mysqld --console --skip-grant-tables --shared-memory
【CMD窗口2】登陆MySQL,将密码设置为空串
# 登陆MySQL,提示输入密码回车跳过
mysql -u root -p
# 指定操作mysql库
use mysql
# 将root用户密码设置为空串
update user set authentication_string = '' where user = 'root';
# 登出MySQL
exit
【CMD窗口1】按Ctrl+c停止服务
重新设置新密码
# 后台启动MySQL
net start mysql
# 密码是空了,提示输入密码回车跳过
mysql -u root -p
# 密码修改成新的
ALTER USER root@localhost IDENTIFIED BY '123456';
# 登出MySQL
exit
验证
登陆MySQL,提示密码直接回车会报错,因为设置了新密码,输入新密码即可登陆成功。
mysql -u root -p