반응형

MySQL 5.7버전부터 패스워드 미변경 기간에 따른 계정 잠금 기능을 지원하게 되었다.
이 기능은 아래의 두 가지 형태로 설정할 수 있다.

  1. 시스템 변수 를 설정하여 이후 생성되는 모든 계정에 대해 공통 적용하는 방법.
  2. create user 또는 alter user 를 통해 개별 계정에 설정하는 방법.

이와 관련된 시스템 변수는 default_password_lifetime 이다.

버전 별로 해당 옵션의 default value가 다르므로 메뉴얼을 꼭 참고.

https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_default_password_lifetime


정책 설정하는 방법 (default_password_lifetime)

my.cnf 에 변수 설정으로 설정하거나 mysql shell 에서 set 구문을 통해서 설정가능하다.

  1. my.cnf에 설정
[mysqld]
# 계정 생성 시 부여되는 password_lifetime을 90일로 설정
default_password_lifetime=90
  1. mysql shell을 통해 설정
SET GLOBAL default_password_lifetime=90

default_password_lifetime0 으로 설정할 경우 EXPIRE NEVER 와 같다. 즉 만료하지 않겠다는 의미.


개별 계정에 설정하는 방법.

  1. 계정 생성 시 패스워드 만료일 설정
CREATE USER 'ktw'@'localhMost' PASSWORD EXPIRE DEFAULT;
CREATE USER 'ktw'@'localhost' PASSWORD EXPIRE INTERVAL 90 DAY;
CREATE USER 'ktw'@'localhost' PASSWORD EXPIRE NEVER;
  1. 기존 계정의 패스워드 만료일 변경
ALTER USER 'ktw'@'localhost' PASSWORD EXPIRE DEFAULT;
ALTER USER 'ktw'@'localhost' PASSWORD EXPIRE INTERVAL 90 DAY;
ALTER USER 'ktw'@'localhost' PASSWORD EXPIRE NEVER;

DEFAULT 로 설정 시 앞서 부여한 값이 입력됨.
INTERVAL 0 DAYEXPIRE NEVER 는 동일한 의미

참고페이지

MySQL 5.7 Reference Manual - password-management

반응형