웹사이트 검색

Linux에서 "MySQL 오류 1819(HY000):"을 수정하는 방법


상대적으로 취약한 비밀번호를 사용하여 MySQL 사용자를 생성할 때 'MySQL 오류 1819(HY000): 비밀번호가 현재 정책 요구 사항을 충족하지 않습니다'라는 오류가 발생할 수 있습니다. 기술적으로 이는 오류가 아니지만 권장 비밀번호 정책 요구 사항을 충족하지 않는 비밀번호를 사용하고 있다는 알림입니다.

즉, 쉽게 추측하거나 무차별 공격을 받을 수 있는 취약한 비밀번호를 사용하고 있는 것입니다. 내장된 보안 메커니즘은 사용자가 데이터베이스가 침해되기 쉬운 취약한 비밀번호를 생성하는 것을 방지합니다.

예를 들어, 다음과 같이 사용자를 생성할 때 오류가 발생했습니다.

mysql> create user ‘tecmint’@’localhost’ IDENTIFIED BY ‘mypassword’;

비밀번호가 매우 약하고 보안 위험을 초래할 수 있다는 것은 당연한 일입니다.

Linux에서 MySQL ERROR 1819(HY000)를 해결하는 방법

MySQL 데이터베이스는 활성화되면 비밀번호 확인 정책을 시행하는 validate_password 플러그인과 함께 제공됩니다. 플러그인에 의해 시행되는 비밀번호 유효성 검증 정책에는 3가지 레벨이 있습니다.

  • 낮음: 사용자가 8자 이하의 비밀번호를 설정할 수 있습니다.
  • MEDIUM: 사용자가 대소문자와 특수 문자를 혼합하여 8자 이하의 비밀번호를 설정할 수 있습니다.
  • STRONG: 사용자가 사전 파일을 포함하여 중간 수준 비밀번호의 모든 속성을 갖는 비밀번호를 설정할 수 있습니다.

기본적으로 비밀번호 정책은 MEDIUM으로 설정되어 있습니다. 다음 명령을 실행하여 비밀번호 정책 수준을 확인할 수 있습니다.

SHOW VARIABLES LIKE 'validate_password%';

명령을 실행하고 출력 빈 세트를 얻으면 플러그인이 아직 활성화되지 않은 것입니다.

validate_password 플러그인을 활성화하려면 아래 명령을 실행하세요.

mysql> select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';
mysql> install plugin validate_password soname 'validate_password.so';

플러그인이 활성화되었는지 확인하려면 명령을 실행하세요.

mysql> select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';

아래와 같은 출력이 표시됩니다.

문제를 해결하려면 비밀번호 확인 정책을 가장 낮은 수준으로 설정해야 합니다. 이는 취약한 비밀번호를 설정하여 궁극적으로 해커에 의해 데이터베이스가 손상될 수 있는 경로를 생성하므로 직관에 어긋나는 것처럼 들린다는 것을 알고 있습니다.

그러나 여전히 자신의 뜻대로 고집한다면 다음과 같이 할 수 있습니다.

MySQL 비밀번호 검증 정책을 변경하는 방법

MySQL 오류 1819(HY000) 오류를 해결하려면 다음과 같이 더 낮은 비밀번호 확인 정책을 설정하세요.

mysql> SET GLOBAL validate_password_policy=LOW;
OR
mysql> SET GLOBAL validate_password_policy=0;

그런 다음 암호 유효성 검사 정책 수준을 확인할 수 있습니다.

SHOW VARIABLES LIKE 'validate_password%';

이제 원하는 대로 비교적 약한 비밀번호를 할당하고 진행할 수 있습니다.

mysql> create user ‘tecmint’@’localhost’ IDENTIFIED BY ‘mypassword’;

'MEDIUM' 비밀번호 정책 수준으로 되돌리려면 다음 명령을 호출하면 됩니다.

mysql> SET GLOBAL validate_password_policy=MEDIUM;
결론

개인적으로 저는 분명한 이유로 더 낮은 수준의 비밀번호 정책을 설정하는 것을 권장하지 않습니다. 일반 사용자이든 데이터베이스 사용자이든 항상 대문자, 소문자, 숫자, 특수 문자를 혼합하여 8자 이상의 강력한 MySQL 비밀번호를 설정하는 것이 좋습니다.

이 가이드는 이러한 오류를 탐색하는 방법을 알고 싶은 사람들을 위한 것입니다. 그렇지 않은 경우 항상 강력한 비밀번호를 설정하는 것이 좋습니다.