> 백엔드 개발 > PHP 튜토리얼 > '클라이언트 [caching_sha2_password]에 알 수 없는 인증 방법'으로 인해 mysqli_connect가 실패하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

'클라이언트 [caching_sha2_password]에 알 수 없는 인증 방법'으로 인해 mysqli_connect가 실패하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

Mary-Kate Olsen
풀어 주다: 2024-12-15 08:27:10
원래의
645명이 탐색했습니다.

Why is mysqli_connect Failing with

mysqli_connect의 인증 문제 극복

mysqli_connect 기능은 PHP에서 데이터베이스 연결을 용이하게 합니다. 그러나 caching_sha2_password 인증을 사용하여 MySQL 데이터베이스에 연결하려고 하면 사용자에게 인증 문제가 발생할 수 있습니다. 이 문서에서는 이 문제의 근본 원인을 살펴보고 이에 대한 해결책을 제시합니다.

문제

제공된 코드 조각에서 MySQL Server ini 파일의 default_authentication_plugin 설정은 다음과 같습니다. caching_sha2_password로 설정하세요. 이 구성은 사용자가 해당 caching_sha2_password가 없는 사용자 이름으로 인증하는 것을 방지합니다. 그 결과 "서버에서 클라이언트 [caching_sha2_password]에 알 수 없는 인증 방법을 요청했습니다."라는 오류 메시지가 표시됩니다.

해결 방법

이 문제를 해결하려면 다음 중 하나를 수행할 수 있습니다.

  • 변경 default_authentication_plugin 설정:

    • user1은 로그인할 수 있지만 user2는 로그인할 수 없도록 하려면 mysql_native_password로 설정합니다.
  • 사용자 수정 인증:

    • ALTER USER SQL 명령을 사용하여 user1 및 user2의 비밀번호를 caching_sha2_password와 호환되도록 변경합니다.

      • 의 경우 기존 사용자:

        • 사용자 변경 'mysqlUsername'@'localhost'는 'mysqlUsernamePassword'에 의해 mysql_native_password로 식별됩니다.
      • 신규 사용자의 경우:

        • 사용자 생성 'jeffrey'@' mysql_native_password로 식별된 localhost' BY 'password';

구현

인증 플러그인 수정 후 설정 또는 사용자 비밀번호를 사용하면 mysqli_connect 코드가 MySQL에 대한 연결을 성공적으로 설정합니다. 데이터베이스.

결론

기본적인 인증 문제를 이해하고 제공된 솔루션 중 하나를 구현하면 사용 시 "클라이언트에 알려지지 않은 인증 방법" 오류를 극복할 수 있습니다. mysqli_connect와 caching_sha2_password 인증.

위 내용은 '클라이언트 [caching_sha2_password]에 알 수 없는 인증 방법'으로 인해 mysqli_connect가 실패하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿