Your password does not satisfy the current policy requirements
MySQL 또는 MariaDB 설치를 완료한 후 새로운 유저를 생성하여 비밀번호를 설정하려 할 때, 아래와 같이 에러 메세지가 발생할 수 있습니다.
create user 'myuser'@'localhost' identified by '[my password]'; ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
위 에러는 패스워드 복잡성 체크 플러그인에 의해 너무 간단한 암호를 사용하여 발생하는 문제입니다. 메세지 내용대로 현재 정책에 맞지 않는 암호를 지정했기 때문에 암호를 생성할 수 없다는 의미입니다.
해결 방법 (MySQL)
해결 방법은 간단합니다. MySQL의 설정에서 암호 확인 정책을 변경할 수 있습니다. /etc/my.cnf 를 편집하여 [mysqld] 항목 하단에 아래와 같이 내용을 추가해주세요.
# vim /etc/my.cnf [mysqld] validate_password_policy=LOW
- LOW : 8자 이상의 암호면 모두 허용
- MEDIUM : 8자 이상 및 숫자, 영문 대/소문자 그리고 특수문자를 모두 포함해야 함
- STRONG : 8자 이상 및 숫자, 영문 대/소문자, 특수문자 그리고 Dictionary-File을 모두 포함해야 함
특별한 경우가 아니면 LOW, MEDIUM으로 설정하셔도 될 것 같습니다.
이후 MySQL을 재시작합니다.
# service mysql restart 또는 # systemctl restart mysql
해결 방법 (MariaDB)
MariaDB는 조금 다릅니다. my.cnf.d 디렉토리의 cracklib_password_check.cnf 파일을 수정해야 합니다.
plugin-load-add=cracklib_password_check.so 부분의 앞에 ; 를 붙여서 비활성화 해주시면 됩니다. 저장하고 빠져 나옵니다.
# vim /etc/my.cnf.d/cracklib_password_check.cnf [mariadb] ;plugin-load-add=cracklib_password_check.so
이후 MariaDB를 재시작합니다.
# service mysql restart 또는 # systemctl restart mysql
그 외
만약 위 방법으로도 해결되지 않거나 다른 방법을 사용해야 한다면, MySQL 플러그인 디렉토리(/usr/lib64/mysql/plugin)로 이동합니다.
(* 주의 – 이 방법은 보안상 권장되지 않습니다!)
# cd /usr/lib64/mysql/plugin
다음으로 MySQL의 경우 validate_password.so 파일을, MariaDB의 경우 cracklib_password_check.so 파일을 찾아 이름을 다른 이름으로 바꾸거나 삭제하시면 됩니다.
이후 MySQL을 재시작하면 더 이상 복잡한 암호 체크를 진행하지 않습니다.
/etc/my.cnf에 validate_password_policy=LOW라고 추가하고
mysql데몬 재시작하면 데몬이 구동되지 않습니다.
현재 사용하시고 계신 MySQL 또는 MariaDB의 버전에 따라 동작하지 않을 수 있습니다.
또한 /etc/my.cnf의 [mysqld] 하단에 넣어졌는지 확인해보세요.
그래도 문제가 발생한다면, 재시작 시 오류 메세지가 어떤 식으로 나오는지 알 수 있을까요?