데이터베이스

MySQL 8.0에서 패스워드 정책 확인 및 변경 방법에 대해 알아보겠습니다.

forward error correction Circle 2024. 11. 7. 08:30
반응형

MySQL 8.0에서 패스워드 정책을 확인하려면 SHOW VARIABLES 명령어를 사용하여 관련 설정을 조회할 수 있습니다.  validate_password 플러그인을 사용하여 패스워드 정책을 설정할 수 있습니다.

Ⅰ. MySQL 8.0 패스워드 정책 확인 방법

MySQL에 접속합니다

[root@feccle ~] # mysql -u root -p

 

 

패스워드 정책 관련 변수들을 확인합니다:

mysql> SHOW VARIABLES LIKE 'validate_password%';

 

변수 이름 설명
validate_password_check_user_name 사용자 이름이 비밀번호에 포함되는 것을 방지하는 설정합니다.
validate_password_dictionary_file 사전 파일의 경로를 지정하여 비밀번호가 사전에 포함된 단어를 사용할 수 없도록 합니다. 
validate_password.length 최소 패스워드 길이를 설정합니다.
validate_password.mixed_case_count 대문자와 소문자를 모두 포함해야 하는 최소 개수를 설정합니다.
validate_password.number_count 숫자를 포함해야 하는 최소 개수를 설정합니다.
validate_password.policy 패스워드 정책의 강도 수준을 설정합니다. 
(0: LOW, 1: MEDIUM, 2: STRONG)
validate_password.special_char_count 특수 문자를 포함해야 하는 최소 개수를 설정합니다.


※ empty 로 나와있을 경우 설치 방법

mysql> INSTALL PLUGIN validate_password SONAME 'validate_password.so';

 

Ⅱ. MySQL 8.0 패스워드 정책 변경

패스워드 정책을 변경하려면 SET GLOBAL 명령어를 사용하여 관련 변수를 설정할 수 있습니다. 예를 들어, 패스워드 길이를 12자로 설정하고, 패스워드 정책을 STRONG으로 변경하려면 다음과 같이 합니다:

MySQL에 접속합니다

[root@feccle ~]# mysql -u root -p

 



ⅰ. 패스워드 길이를 12자로 설정 할 경우

mysql> SET GLOBAL validate_password_length =12;


ⅱ. 패스워드 정책을 STRONG으로 설정

mysql> SET GLOBAL validate_password_policy = 'STRONG';


ⅲ. 대문자와 소문자를 모두 포함해야 하는 최소 개수를 2로 설정

mysql> SET GLOBAL validate_password_mixed_case_count =2;

 


ⅳ. 숫자를 포함해야 하는 최소 개수를 2로 설정합니다

mysql> SET GLOBAL validate_password_number_count =2;

 


ⅴ. 특수 문자를 포함해야 하는 최소 개수를 2로 설정

mysql> SET GLOBAL validate_password_special_char_count =2;

 

 

Ⅲ. MySQL 8.0 패스워드 정책을 SET GLOBAL 로  변경 시 주의 사항

SET GLOBAL 명령어로 설정한 값은 MySQL 서버가 재시작되면 기본값으로 돌아갑니다.

영구적으로 설정하려면 MySQL 설정 파일 (my.cnf 또는 my.ini)에 해당 설정을 추가해야 합니다.


my.cnf 파일에 다음과 같이 추가할 수 있습니다

[mysqld]
validate_password_length = 12
validate_password_policy = STRONG
validate_password_mixed_case_count = 2
validate_password_number_count = 2
validate_password_special_char_count = 2

 

MySQL 8.0에서는 my.cnf 파일을 통해 패스워드 정책을 포함한 다양한 설정을 영구적으로 변경할 수 있습니다. 

my.cnf 파일에 패스워드 정책 관련 설정을 추가하면 MySQL 서버가 재시작될 때마다 해당 설정이 적용됩니다.

 

반응형