mysql错误之------- mysql your password has expired

来源:互联网 发布:linux daemon用户权限 编辑:程序博客网 时间:2024/05/21 17:58

前几天在安装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配置如下:

?
1
2
[mysqld]
default_password_lifetime=90

如果要设置密码永不过期的全局策略,可以这样:(注意这是默认值,配置文件中可以不声明)

?
1
2
[mysqld]
default_password_lifetime=0

在MySQL运行时可以使用超级权限修改此配置:

?
1
2
mysql>SETGLOBALdefault_password_lifetime = 90;
Query OK, 0 rowsaffected (0.00 sec)

还可以使用ALTER USER命令为每个具体的用户账户单独设置特定的值,它会自动覆盖密码过期的全局策略。要注意ALTER USER语句的INTERVAL的单位是“天”。

?
1
ALTERUSER‘testuser'@‘localhost'PASSWORDEXPIRE INTERVAL 30 DAY;

禁用密码过期:

?
1
ALTERUSER'testuser'@'localhost'PASSWORDEXPIRE NEVER;

让用户使用默认的密码过期全局策略:

?
1
ALTERUSER'testuser'@'localhost'PASSWORDEXPIRE DEFAULT;

从MySQL 5.7.6版开始,还可以使用ALTER USER语句修改用户的密码:

?
1
2
mysql>ALTERUSERUSER() IDENTIFIED BY'637h1m27h36r33K';
Query OK, 0 rowsaffected (0.00 sec)

1 0
原创粉丝点击