>데이터 베이스 >MySQL 튜토리얼 >PHP에서 'mysqli_connect: 클라이언트에 알 수 없는 인증 방법 [caching_sha2_password]' 오류를 수정하는 방법은 무엇입니까?

PHP에서 'mysqli_connect: 클라이언트에 알 수 없는 인증 방법 [caching_sha2_password]' 오류를 수정하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-28 07:14:46942검색

How to Fix the

PHP에서 "mysqli_connect: 클라이언트에 알 수 없는 인증 방법 [caching_sha2_password]" 완화

MySQL의 mysqli_connect를 활용하여 로컬 데이터베이스에 인증하는 경우 , "mysqli_connect(): 서버가 인증을 요청했습니다"라는 수수께끼의 오류가 발생할 수 있습니다. 클라이언트 [caching_sha2_password]에 알려지지 않은 메소드입니다." 이 오류는 서버에서 사용하는 인증 플러그인과 클라이언트에서 예상하는 인증 플러그인이 일치하지 않아 발생합니다.

MySQL Server ini 파일은 서버 연결에 사용되는 기본 인증 플러그인을 지정합니다. 기본적으로 이 설정은 "caching_sha2_password"로 구성되며, 이는 서버가 caching_sha2_password 인증 방법을 선호함을 나타냅니다. 귀하의 경우에는 그에 따라 서버가 구성되었습니다.

반대로, PHP 코드는 "mysql_native_password" 방법과 같은 기존 인증 방법을 사용하여 연결을 시도합니다. 이러한 불일치로 인해 인증 실패가 발생하고 앞서 언급한 오류가 발생합니다.

해결 방법

이 문제를 해결하려면 PHP 코드에서 사용하는 인증 방법을 일치하도록 수정하면 됩니다. 서버의 기본 설정입니다. 또는 MySQL Server ini 파일을 변경하여 PHP 코드와 호환되는 인증 플러그인을 지정할 수 있습니다. 몇 가지 가능한 해결 방법은 다음과 같습니다.

  • MySQL Server에서 mysql_native_password 플러그인을 활성화합니다.

    • MySQL Server ini 파일을 열고 "default_authentication_plugin" 매개변수를 찾습니다.
    • 값을 다음으로 변경합니다. "mysql_native_password."
  • caching_sha2_password 플러그인을 사용하도록 PHP 코드를 수정합니다.

    • mysqli_options() 함수를 활용하여 MYSQLI_OPT_AUTH_PLUGIN 옵션을 다음으로 설정합니다. "caching_sha2_password."

또는 SQL 명령을 사용하여 MySQL 사용자의 인증 방법을 mysql_native_password로 전환할 수 있습니다.

  • 기존 사용자 변경 :

    • 달려 SQL 명령: ALTER USER 'mysqlUsername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysqlUsernamePassword';
  • mysql_native_password를 사용하여 새 사용자 만들기:

    • SQL 명령 실행: CREATE USER 'jeffrey'@'localhost'는 'password'로 mysql_native_password로 식별;

이러한 솔루션을 구현하면 MySQL 서버와 PHP 클라이언트에서 사용하는 인증 방법을 조정할 수 있습니다. , 데이터베이스에 대한 연결을 성공적으로 설정할 수 있습니다.

위 내용은 PHP에서 'mysqli_connect: 클라이언트에 알 수 없는 인증 방법 [caching_sha2_password]' 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.