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