MySQL에 액세스할 수 없습니다. 오류 코드 1045(28000): 사용자 'bill'@'localhost'에 대한 액세스가 거부되었습니다(비밀번호 사용: yes).
P粉885562567
P粉885562567 2023-09-17 09:21:55
0
2
647

제안된 질문을 많이 살펴봤지만 관련 답변을 찾지 못했다는 점을 먼저 말씀드리겠습니다. 제가 하고 있는 일은 다음과 같습니다.

Amazon EC2 인스턴스에 연결되어 있습니다. 다음 명령을 사용하여 MySQL 루트 사용자에 로그인할 수 있습니다.

으아악

그런 다음 % 호스트로 새 사용자 청구서를 생성했습니다

으아악

사용자 청구서에 모든 권한 부여:

으아악

그런 다음 루트 사용자로 로그아웃하고 bill 사용자를 사용하여 로그인을 시도했습니다:

으아악

올바른 비밀번호를 입력하면 다음 오류가 나타납니다.

오류 1045(28000): 사용자 "bill"@"localhost"에 대한 액세스가 거부되었습니다(비밀번호 사용: YES)

P粉885562567
P粉885562567

모든 응답(2)
P粉186904731

해 보세요:

으아악
P粉287345251

익명 사용자''@'localhost'''@'127.0.0.1'가 있을 수 있습니다.

Manual에 따르면:

따라서 이러한 익명 사용자는 연결 시 '[any_username]'@'%'在从localhost와 같은 다른 사용자를 "차단"합니다.

'bill'@'localhost'匹配'bill'@'%',但会在之前匹配(例如)''@'localhost'.

권장되는 해결 방법은 이 익명 사용자를 삭제하는 것입니다(일반적으로 좋은 생각입니다).


아래 편집 내용은 대부분 주요 질문과 관련이 없습니다. 이는 이 스레드의 다른 댓글에서 묻는 질문 중 일부에 대한 답변일 뿐입니다.

편집 1

소켓을 통해 'bill'@'%'로 인증합니다.

으아아아

편집 2

네트워크를 다시 활성화하고 이제 익명 사용자를 생성했다는 점을 제외하면 정확히 동일한 설정입니다''@'localhost'.

으아아아

편집 3

편집 2와 동일한 상황으로 이제 익명 사용자에게 비밀번호를 제공합니다.

으아아아

결론 1, 편집 1: 인증 'bill'@'%'은 소켓을 통해 가능합니다.

결론 2, 편집 2: TCP를 통해 연결하는지 소켓을 통해 연결하는지 여부는 인증 프로세스에 영향을 주지 않습니다(소켓을 통해 'something'@'localhost' 이외의 다른 사용자에게 연결할 수 없는 것 제외).

결론 3, 편집 3에서: -ubill을 지정했는데도 익명 사용자로 액세스 권한이 부여되었습니다. 이는 위에서 제안한 "순서 규칙" 때문입니다. 대부분의 기본 설치에는 비밀번호가 없는 익명 사용자(보안/제거 필요)가 있다는 점에 유의하세요.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿