본문 바로가기
+ DataBase/MySQL(MariaDB)

[MySQL] Mysql ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 해결 하기

by :: Teacher :: 2020. 6. 13.
728x90
반응형

MySQL을 처음 설치 후 신규 계정을 등록을 하려고 할때, "ERROR 1819 (HY000): Your password does not satisfy the current policy requirements" 와 같은 에러가 발생하는 경우가 있다. 

mysql> CREATE USER 'test'@'%' IDENTIFIED BY '12test34';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements


mysql> select Host, User from user;
+-----------+------------------+
| Host      | User             |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
+-----------+------------------+
4 rows in set (0.01 sec)

이와 같은 경우가 발생하는건 처음 MySQL를 설치 하면서 비밀번호 정책 설정에 따라서 위와 같은 내용이 발생할 수 있다.

  • mysql> show variables like 'validate_password%';
mysql> show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | STRONG |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+

validate_password.policy : STRONG 으로 되어 있는데 해당 정책은 설치 하면서 "LOW, MEDIUM, STRONG" 3가지 내용 중 선택 할 수 있다. 
해당 설정에 따라 비밀번호 설정 규칙을 정할 수 있다. 

# validate_password.policy 옵션


LOW    Length >= 8
LOW    패스워드 자리가 최소 8자 이상

MEDIUM Length >= 8, numeric, mixed case, and special characters
MEDIUM 패스워드 자리가 최소 8자 이상, 숫자, 대문자, 소문자, 특수문자가 모두 포함 설정

STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
STRONG인 패스워드 자리가 최소 8자 이상, 숫자, 대문자, 소문자, 특수문자가 모두 포함 설정 및 dictionary file에 포함된 단어는 비밀번호로 사용할 수 없음

제일 좋은 방법은 현재 설정 된 비밀번호 설정 규칙에 따라서 비밀번호를 설정 하는게 좋다. 

다만, 비밀번호 설정 정책을 변경하여 설정하는 방법은 아래와 같은 Query(쿼리)를 사용하여 변경 해보도록 하자.

  • mysql> SET GLOBAL validate_password.policy=LOW;
mysql> SET GLOBAL validate_password.policy=LOW;
Query OK, 0 rows affected (0.00 sec)


mysql> CREATE USER 'test'@'%' IDENTIFIED BY '12test34';
Query OK, 0 rows affected (0.06 sec)


mysql> select Host, User from user;
+-----------+------------------+
| Host      | User             |
+-----------+------------------+
| %         | test             |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
+-----------+------------------+
5 rows in set (0.01 sec)

이와 같이 비밀번호 설정 정책 변경 후 신규 계정이 생성되는 것을 확인 할 수 있다. 

728x90
반응형

댓글


loading