mysql5.7报错You must reset your password using ALTER USER statement before executing this statement的解决办法

mysql> alter user user() identified by 'Aa123456';
Query OK, 0 rows affected (0.01 sec)

原因:这是mysql的密码策略过期导致

解决办法:

配置mysql的配置文件来修改过期策略

过期策略修改为120天

[mysqld] 
default_password_lifetime=120

如果要设置密码永不过期,my.cnf配置如下:

[mysqld] 
default_password_lifetime=0 

修改配置文件后要重启mysql服务才能生效

如果要为每个具体的用户账户设置单独的特定值,可以使用以下命令完成(注意:此命令会覆盖全局策略),单位是“天”,命令如下:

ALTER USER ‘xiaoming’@‘localhost' PASSWORD EXPIRE INTERVAL 250 DAY; 

如果让用户恢复默认策略,命令如下:

ALTER USER 'xiaoming'@'localhost' PASSWORD EXPIRE DEFAULT; 

将密码过期功能禁用,命令如下:

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

发表评论

后才能评论