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;