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;
답변
답변
명령을 실행 한 후 sudo mysql_secure_installation
.
- 실행
sudo mysql
하여 mysql 프롬프트로 들어갑니다. - 플러그인 auth_socket 으로 가질
SELECT user,authentication_string,plugin,host FROM mysql.user;
사용자 루트 를 확인하려면 이것을 실행하십시오 . - 그런 다음 실행
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;