"클라이언트가 알 수 없는 서버 요청 인증 방법" 오류 이해
PHP에서 MySQL 데이터베이스에 대한 연결을 설정하려고 할 때, 사용자는 "서버가 클라이언트에 알 수 없는 인증 방법을 요청했습니다."라는 수수께끼 같은 오류가 발생할 수 있습니다. 이 오류 코드는 SQLSTATE[HY000]에 해당하며 MySQL 버전 8.0 이상에서 발생합니다.
오류 이유
이 문제의 근본 원인은 일반적으로 다음에서 비롯됩니다. MySQL 데이터베이스에서 사용하는 인증 메커니즘과 클라이언트 애플리케이션(이 경우 PHP)의 기대치 사이의 불일치. 기본적으로 MySQL 8.0은 'auth_socket' 인증 플러그인을 사용하는 반면, 많은 애플리케이션은 비밀번호로 보호된 로그인을 통한 인증을 기대합니다.
해결책
이 문제를 해결하려면 사용자 클라이언트 애플리케이션의 요구 사항에 맞게 MySQL 데이터베이스에서 사용하는 인증 플러그인을 수정해야 합니다. 단계는 다음과 같습니다.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Be 'password'를 원하는 루트 비밀번호로 바꾸십시오. 클라이언트 애플리케이션이 다른 사용자를 사용하여 연결하는 경우 명령의 'root'를 적절한 사용자 이름으로 바꾸십시오.
추가 정보
이 문제에 대한 추가 설명을 찾을 수 있습니다. MySQL 설치에 관한 Digital Ocean의 문서에서: https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-20-04.
위 내용은 MySQL 8.0이 '클라이언트에게 알 수 없는 서버 요청 인증 방법'을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!