MySQL 8 암호 복잡성 설정
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
일반적으로 MySQL 8은 암호화 관련한 옵션이 기본적으로 복잡성을 만족하도록 설정되어있다.
mysql> SHOW VARIABLES LIKE 'validate_password%'; +--------------------------------------+-------+ | Variable_name | Value | +--------------------------------------+-------+ | validate_password.check_user_name | OFF | | validate_password.dictionary_file | | | validate_password.length | 8 | | validate_password.mixed_case_count | 1 | | validate_password.number_count | 1 | | validate_password.policy | MEDIUM| | validate_password.special_char_count | 1 | +--------------------------------------+-------+ 7 rows in set (0.00 sec)
위의 설정에 의하면 암호는
- 8글자 이상
- 최소한 1개이상의 대문자/소문자
- 최소한 1개 이상의 숫자
- 최소한 1개 이상의 특수문자
조건을 만족해야 하도록 설정되어있다. 또한 validate_password_check_user_name
은 암호에 해당 계정의 이름이 들어갔는지 체크하는 옵션이다 ON으로 되어있는 경우 암호에 계정명이 들어갈 수 없다.
또한 validate_password.policy
설정은 아래와 같은 정책을 준수한다.
LOW
정책은비밀번호 길이만 테스트
합니다. 비밀번호는 8 자 이상이어야합니다. 이 길이를 변경하려면validate_password.length
을 수정하십시오MEDIUM
정책은 암호에 적어도 1 개의 숫자, 1 개의 소문자, 1 개의 대문자 및 1 개의 영숫자가 아닌 문자를 포함해야한다는 조건을 추가합니다. 이 값을 변경하려면validate_password.number_count
,validate_password.mixed_case_count
,validate_password.special_char_count
를 수정하십시오STRONG
정책은 길이가 4 이상인 암호 하위 문자열이 사전 파일의 단어와 일치하지 않아야 한다는 조건을 추가합니다. 사전 파일을 지정하려면validate_password.dictionary_file
을 수정하십시오
참조링크 : https://dev.mysql.com/doc/refman/8.0/en/validate-password.html
정책 변경
정책을 실시간으로 변경하려면 아래와 같이 DDL문으로 바로 적용이 가능하다.
mysql> SET GLOBAL validate_password_policy=LOW; mysql> SET GLOBAL validate_password_length=12;
위와같이 즉시 데이터베이스 정책을 변경할 수 있다. 하지만 이 방법은 임시로 적용되는 방법이며 데이터베이스를 재기동 하면 초기화 된다.
영구적으로 적용하기 위해서는 아래과 같이 my.cnf 파일을 수정하도록 한다.
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid lower_case_table_names=1 ## Password validation validate_password.length=8 validate_password.mixed_case_count=0 validate_password.number_count=0 validate_password.policy=LOW validate_password.special_char_count=0 # EOF
로그인하면 댓글을 남길 수 있습니다.