ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
로컬 환경에서 Mac 과 Windows 를 번갈아 가며 MySQL 을 사용하는데 서로 비밀번호가 일치하지 않았다.
이 두 MySQL의 서로 다른 비밀번호를 일치시켜 주는 작업을 하게 되었고, 로컬에서만 교육적으로 사용하고 있기 때문에 최저 수준의 보안과 비밀번호 4 자리로 바꾸기로 하였다.
단순 검색을 통해 비밀번호 변경 명령어를 찾고, 4 자리로 바꾸려고 보니
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
에러를 출력하였다. MySQL 비밀번호 지정을 해둔지 좀 오래되어 어떤 조건으로 설정해 놓았는지 기억나지 않았다. 여하튼, 현재 정책 요구사항에 충족하지 않는 단다.
최저 보안 & 4 자리 비밀번호
로컬 환경에서만 사용할 것이기에 편의성에 가장 우선순위를 두고 최저 보안과 4자리 길이의 비밀번호를 설정하는 것을 기반으로 이 글이 작성되었다.
mysql -u root -p
일단, MySQL 에 진입한다.
Enter password: ********
비밀번호를 입력한다. (변경 전에는 8 자리로 지정을 하였다.)
비밀번호를 입력하고 나면 위와 같이 출력되고 mysql> 에 커서가 위치한다.
SHOW VARIABLES LIKE 'validate_password%';
현재 지정상태를 확인해 본다.
비밀번호 최소 길이는 8 자리이고, policy 는 MEDIUM 으로 설정되어 있다.
SET GLOBAL validate_password.policy=LOW;
MEDIUM -> LOW 로 변경을 한다.
참고로 버전 8 이상에서는 validate_password.policy 처럼 .policy 를 써야 하고,
그 이하에서는 validate_password_policy 처럼 _policy 를 써야 한다는 이야기가 있다.
나의 MySQL 은 8.0.31 이기에 위의 명령어가 잘 적용되었다.
SET GLOBAL validate_password.length = 4;
비밀번호의 길이를 4 자부터 가능하게끔 허용시켜 준다.
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
이제 비밀번호 설정 시간이다.
아이디는 'root' 로 설정되어 있어 ALTER USER 'root'@'localhost' 이 부분은 그대로 입력하였고,
IDENTIFIED BY '1234'; 비밀번호는 '1234' 네 자리로 설정하였다.
FLUSH PRIVILEGES;
FLUSH PRIVILEGES 를 입력하여 마무리한다.
quit
설정을 끝마쳤으면 MySQL 을 빠져나온다.
변경 확인
mysql -u root -p
Enter password: 1234
SHOW VARIABLES LIKE 'validate_password%';
를 통해서 출력 결과를 확인하고 모든 변경이 정상적으로 되었음을 알 수 있다.
'알아가기 > Java' 카테고리의 다른 글
[Java] 조회값을 반환하거나 기본값을 반환하는 getOrDefault (0) | 2023.06.15 |
---|---|
[Java] 중복 없는 해시 HashSet (0) | 2023.05.28 |
[Java] 맥북 Tomcat 설치 후 ./startup.sh 실행 시 권한 거부 해결 (0) | 2023.01.26 |
[Java] substring() 원하는 위치의 문자열을 가져오기 (0) | 2023.01.21 |
[Java] 공백 없는 연속된 숫자들 분리하여 배열에 입력받기 (split, toCharArray) (0) | 2023.01.12 |