TIL

3.3 비밀번호 관리

3.3.1 고수준 비밀번호

MySQL 서버에는 비밀번호 글자 조합을 강제하거나 금칙어를 설정하는 기능도 포함되어 있다.

validate_password 컴포넌트 설치

INSTALL COMPONENT 'file://component_validate_password;

validate_password가 제공하는 시스템 변수

금칙어 등록

SET GLOBAL validate_password.dictionary_file='prohibitive_word.data';
SET GLOBAL validate_password.policy='STRONG';

3.3.2 이중 비밀번호

비밀번호 변경 시나리오

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password' RETAIN CURRENT PASSWORD;
  1. old_password로 접속하고 있던 애플리케이션의 DB 접근 설정 파일을 new_password로 바꾸고 재배포한다.
    1. 기존 비밀번호를 사용하던 이전 버전도, 새 비밀번호를 사용하는 지금 버전도 DB에 접근 가능
  2. 애플리케이션 배포가 완료되면 다음 명령으로 세컨더리를 삭제한다.
    1. 보안을 위해 삭제하는 것이 좋다.
ALTER USER 'root'@'localhost' DISCARD OLD PASSWORD;