[MySQL] 패스워드 보안 설정

1. 계정 패스워드 유효기한 설정 (Password Expiration Policy)
[mysqld]
# 계정 생성 시 부여되는 password_lifetime을 90일로 설정 (0이면 무제한)
# MySQL 전용 옵션이다. MariaDB는 10.4 이상부터 적용된다.
default_password_lifetime=90

또는 mysql shell에서
SET GLOBAL default_password_lifetime=90;

◎계정 별로 설정하는 방법 (신규 계정)
CREATE USER 'testuser'@'localhMost' PASSWORD EXPIRE DEFAULT;
CREATE USER 'testuser'@'localhost' PASSWORD EXPIRE INTERVAL 90 DAY;
CREATE USER 'testuser'@'localhost' PASSWORD EXPIRE NEVER;

◎계정 별로 설정하는 방법 (기존 계정)
ALTER USER 'testuser'@'localhost' PASSWORD EXPIRE DEFAULT;
ALTER USER 'testuser'@'localhost' PASSWORD EXPIRE INTERVAL 90 DAY;
ALTER USER 'testuser'@'localhost' PASSWORD EXPIRE NEVER;

2. 계정 패스워드 복잡도 설정 (Password Validation)
[mysqld]
plugin-load-add=validate_password.so
# FORCE_PLUS_PERMANENT는 시작 시 플러그인을 로드하고 서버가 실행되는 동안 제거되지 않는다.
validate-password=FORCE_PLUS_PERMANENT
validate_password_policy=MEDIUM
validate_password_check_user_name=OFF
validate_password_length=8
validate_password_mixed_case_count=0
validate_password_number_count=1
validate_password_policy=MEDIUM
validate_password_special_char_count=1
위로 스크롤