一个月前,正在找工作没有心情管博客啥的,没想到刚好赶上MySQL安装90天,数据库密码过期了(好坑的功能,要是生产环境忽然这样挂了还不被人打死)。直到现在才有心情去改一下这个问题。

首先利用原来的密码进入MySQL命令行工具:

mysql -u root -p  

输入密码,进入之后设置密码竟然提示:

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement  

卧槽,密码都没有了,不是说好的过期的吗?那就设置一个吧:

SET PASSWORD = PASSWORD('123456');  

然后设置过期命令:

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;  

命令可选如下:

ALTER USER 'root'@localhost' PASSWORD EXPIRE INTERVAL 90 DAYS;  
# 密码有效期 90 天
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;  
# 密码从不过期
ALTER USER 'root'@'localhost' PASSWORD EXPIRE DEFAULT;  
# 设为默认值

然后把密码在设置会原来的密码就不用重启线上服务就可以恢复。

总结:人的懒真的很可怕,拒绝拖延症,从一点一滴做起!