php mysqli_connect를 사용하여 MySQL 데이터베이스에 연결을 설정할 때 가능합니다. 특정 메시지 "mysqli_connect(): The 서버가 클라이언트에 알려지지 않은 인증 방법을 요청했습니다 [caching_sha2_password]". 이는 일반적으로 MySQL 서버에 구성된 인증 방법이 클라이언트의 기대와 다르기 때문에 발생합니다.
이 경우 PHP 스크립트는 MySQL 사용자 테이블에 정의된 일치하는 자격 증명이 필요한 caching_sha2_password 인증 방법을 사용합니다. 그러나 user1 계정에는 caching_sha2_password에 해당하는 비밀번호 해시가 없는 것 같습니다.
이 문제를 해결하려면 다음 두 가지 옵션이 있습니다.
user1에 대한 caching_sha2_password 비밀번호 해시 생성: 다음 SQL 명령을 실행하여 user1에 대한 caching_sha2_password 해시를 생성합니다.
ALTER USER 'user1'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
'new_password'를 원하는 안전한 비밀번호로 바꾸세요. 그러면 user1의 비밀번호 해시가 caching_sha2_password를 사용하도록 업데이트되어 이 방법을 사용하여 인증할 수 있습니다.
기존 해시에 caching_sha2_password 강제 적용: 새 비밀번호 해시를 생성할 수 없는 경우 계정 제한으로 인해 기존 해시에 caching_sha2_password를 강제로 사용할 수 있습니다. 다음 SQL 명령을 실행합니다.
SET PASSWORD FOR 'user1'@'localhost' = PASSWORD('existing_password');
'existing_password'를 user1의 현재 비밀번호로 바꿉니다. 그러면 비밀번호 자체를 변경하지 않고 caching_sha2_password를 사용하도록 해시가 업데이트됩니다.
이 절차 중 하나를 수행하면 caching_sha2_password 인증을 사용하여 데이터베이스에 대한 연결을 성공적으로 설정할 수 있습니다. . 비밀번호 관리에 대한 추가 세부정보 및 옵션은 MySQL 설명서를 검토하세요.
위 내용은 'mysqli_connect(): 서버가 클라이언트 [caching_sha2_password]에 알 수 없는 인증 방법을 요청했습니다' 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!