[mysql] 비밀번호가 현재 정책 요구 사항을 충족하지 않습니다

mysql에서 구문을 사용하여 새 사용자를 만들고 싶습니다.

create user 'demo'@'localhost' identified by 'password';

그러나 오류를 반환합니다.

비밀번호가 현재 정책 요구 사항을 충족하지 않습니다.

많은 암호를 시도했지만 작동하지 않습니다. 이 문제를 어떻게 해결할 수 있습니까?



답변

비밀번호 때문에. MySQL 클라이언트에서 다음 쿼리를 사용하여 비밀번호 유효성 검사 구성 메트릭 을 볼 수 있습니다 .

SHOW VARIABLES LIKE 'validate_password%';

출력은 다음과 같아야합니다.

+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password.check_user_name    | ON    |
| validate_password.dictionary_file    |       |
| validate_password.length             | 6     |
| validate_password.mixed_case_count   | 1     |
| validate_password.number_count       | 1     |
| validate_password.policy             | LOW   |
| validate_password.special_char_count | 1     |
+--------------------------------------+-------+

다음과 같이 비밀번호 정책 레벨을 낮게 설정할 수 있습니다.

SET GLOBAL validate_password.length = 6;
SET GLOBAL validate_password.number_count = 0;

MySQL 문서를 확인하십시오 .


답변

참고 : 이것은 안전한 솔루션이 아닐 수 있습니다. 그러나 테스트 환경에서 작업하는 경우 빠른 수정이 필요하며 보안 설정은 신경 쓰지 않아도됩니다. 이것은 빠른 해결책입니다.

“mysql_secure_installation”을 실행하고 비밀번호 보안 수준을 ‘중간’으로 수정했을 때도 같은 문제가 발생했습니다.

다음을 실행하여 오류를 무시했습니다.

mysql -h localhost -u root -p
mysql>uninstall plugin validate_password;

필요한 경우 플러그인 “validate_password”를 다시 설치하십시오.


답변

비밀번호 정책이 중요하지 않은 경우 아래의 mysql 명령을 실행하여 LOW로 설정할 수 있습니다.

mysql> SET GLOBAL validate_password_policy=LOW;


답변

MySQL 8 *의 경우

SET GLOBAL validate_password.policy=LOW

정책에 대한 설명 링크- 여기를 클릭하십시오


답변

명령을 실행 한 후 sudo mysql_secure_installation.

  1. 실행 sudo mysql하여 mysql 프롬프트로 들어갑니다.
  2. 플러그인 auth_socket 으로 가질 SELECT user,authentication_string,plugin,host FROM mysql.user;사용자 루트 를 확인하려면 이것을 실행하십시오 .
  3. 그런 다음 실행 uninstall plugin validate_password;하기 전에 권한을 삭제 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';하십시오 . 비밀번호 를 강력한 비밀번호 로 변경하십시오 .

참고 : 자세한 내용은 https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04 링크를 확인하십시오.


답변

MySQL 비밀번호 정책을 LOW로 변경해야합니다.

루트로 로그인

mysql -u root -p

정책 변경

SET GLOBAL validate_password_policy=LOW;

또는

SET GLOBAL validate_password_policy=0;

출구

exit

MySQL 서비스 재시작

sudo service mysqld restart

MySQL 비밀번호 정책을 낮음 = 0 / 보통 = 1 / 높음 = 2로 변경해야합니다.

SET GLOBAL validate_password_policy=0;
SET GLOBAL validate_password_policy=1;
SET GLOBAL validate_password_policy=2;


답변

MySql 8의 경우 다음 스크립트를 사용할 수 있습니다.

SET GLOBAL validate_password.LENGTH = 4;
SET GLOBAL validate_password.policy = 0;
SET GLOBAL validate_password.mixed_case_count = 0;
SET GLOBAL validate_password.number_count = 0;
SET GLOBAL validate_password.special_char_count = 0;
SET GLOBAL validate_password.check_user_name = 0;
ALTER USER 'user'@'localhost' IDENTIFIED BY 'pass';
FLUSH PRIVILEGES;