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 -u root -p输入密码登录至MySQL控制台,此时不会提示密码过期
7.当使用其他工具连接MySQL时会提示密码过期,再执行以下SQL语句:
SET PASSWORD FOR root@'localhost' = PASSWORD('新密码');
修改密码,最后重新登录即可.