MySQL5.7 忘记密码的解决方案

237 阅读1分钟

1.在系统中或使用命令行停止MySQL服务

2.以安全模式启动MySQL

cd /usr/local/mysql/bin
sudo ./mysqld_safe --skip-grant-tables

3.新建终端窗口,登录至MySQL,在MySQL中执行

update mysql.user set authentication_string=PASSWORD('你的密码') where User='root';

FLUSH PRIVILEGES;

MySQL5.7以后不存在password字段,被修改为authentication_string.

4.关闭MySQL数据库,直接杀进程

ps -ef|grep mysql

sudo kill -9 [pid]

5.启动MySQL服务

6.登录MySQL控制台

使用mysql -u root -p输入密码登录至MySQL控制台,此时不会提示密码过期

7.当使用其他工具连接MySQL时会提示密码过期,再执行以下SQL语句:

SET PASSWORD FOR root@'localhost' = PASSWORD('新密码'); 

修改密码,最后重新登录即可.