前几天在安装mysql用navicat这个客户端后发现密码需要重置,报的错误:mysql your password has expired。
于是咱们只需要:在DOC下面执行set password = password(‘新密码’);
即可Query Ok;
然后我后面了解了一下mysql密码过期的一些东西,
有如下总结:
从MySQL 5.7.4版开始,用户的密码过期时间这个特性得以改进,可以通过一个全局变量default_password_lifetime来设置密码过期的策略,此全局变量可以设置一个全局的自动密码过期策略。
用法示例:
可以在MySQL的配置文件中设置一个默认值,这会使得所有MySQL用户的密码过期时间都为90天,MySQL会从启动时开始计算时间。my.cnf配置如下:
如果要设置密码永不过期的全局策略,可以这样:(注意这是默认值,配置文件中可以不声明)
在MySQL运行时可以使用超级权限修改此配置:
还可以使用ALTER USER命令为每个具体的用户账户单独设置特定的值,它会自动覆盖密码过期的全局策略。要注意ALTER USER语句的INTERVAL的单位是“天”。
禁用密码过期:
让用户使用默认的密码过期全局策略:
从MySQL 5.7.6版开始,还可以使用ALTER USER语句修改用户的密码: