Mysql 8.0忘记密码强制修改密码
上次因为某些原因,我把数据库的密码改成了强密码也没有备份记下,没过多久我就忘记了,最后通过以下的步骤成功在忘记密码后强制修改了密码,在此记录一下
一、关闭Mysql服务
方式一:以管理员权限打开cmd,输入命令net stop mysql
方式二:打开任务管理器,找到MySQL服务,右键停止
二、跳过MySQL密码验证
管理员进入cmd,进入MySQL目录的bin文件夹下,执行以下命令*(如果执行后没有反馈,新开一个窗口重新执行一、二步骤)*
mysqld -console --skip-grant-tables --shared-memory
三、无密码方式进入MySQL
重新打开一个窗口,进入MySQL的bin目录,直接登录MySQL*(不需要通过net start mysql打开MySQL服务)*
mysql -u root -p
此时会显示让你输入密码,直接回车,就可以了
四、先将登录密码设置为空
use mysql;
update user set authentication_string='' where user='root';
quit;
五、更改登录密码
1 关闭步骤二中打开的窗口
2 在第二个窗口中输入以下命令
net stop mysql
net start mysql
3 然后进入MySQL的bin目录下输入
# 显示输入密码,直接回车跳过
mysql -u root -p
# 更改密码 加入WITH mysql_native_password可以保证navicat连接不会出问题
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
flush privileges
4 验证密码是否生效
quit
# 输入新密码登录
mysql -u root -p