MYSQL登录时提示错误:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.原因是用户密码过期导致的,重设密码有效期即可正常登录。

一、全局设定有效期

SET GLOBAL default_password_lifetime = 90;

二、单个用户设定有效期

为每个具体的用户账户单独设置特定的值

ALTER USER ‘test_opr’@‘localhost' PASSWORD EXPIRE INTERVAL 120 DAY;

禁用密码过期:

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

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

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

设置用户密码过期

ALTER USER 'test_opr'@'localhost' PASSWORD EXPIRE;

查看用户是否过期

SELECT USER,HOST,PASSWORD_EXPIRED,PASSWORD_LAST_CHANGED,PASSWORD_LIFETIME FROM USER;

相关说明如下:

password_expired:枚举值,设置用户密码是否过期的开关,默认为N。

password_last_changed:记录密码最近修改的时间

password_lifetime:设置密码的有效时间,天数

show create user test@'localhost';

ALTER USER 'test_opr'@'localhost' IDENTIFIED BY 'password';

三、配置文件中设置密码不过期

[mysqld]

default_password_lifetime=0