'mysqli_connect 인증 방법을 알 수 없음([caching_sha2_password])' 오류가 발생하는 이유는 무엇입니까?
Dec 17, 2024 am 11:02 AM해결된 인증 오류: mysqli_connect 인증 방법 알 수 없음([caching_sha2_password])
PHP의 mysqli_connect를 사용하여 MySQL 데이터베이스에 연결할 때 다음과 같은 문제가 발생할 수 있습니다. 다음 오류: "서버가 클라이언트에 알려지지 않은 인증 방법을 요청했습니다. [caching_sha2_password]". 이 문제는 MySQL 서버가 특정 사용자 계정에서 기본적으로 지원되지 않거나 추가 구성이 필요할 수 있는 caching_sha2_password 인증 방법을 사용하도록 구성되었을 때 발생합니다.
오류 원인:
caching_sha2_password 인증 방법은 MySQL Server에서 비밀번호 저장 및 인증을 위해 사용하는 안전한 방법입니다. 이는 이전 mysql_native_password 방법을 대체하고 비밀번호를 해시된 형식으로 저장하여 보안을 강화합니다. 기본적으로 특정 조건이 충족되면 caching_sha2_password가 기본 인증 방법이 됩니다.
문제 해결:
이 문제를 해결하려면 다음 두 가지 옵션이 있습니다.
- 사용자 계정을 다음으로 전환 mysql_native_password:
- 다음 SQL 명령을 실행하여 mysql_native_password 인증 방법을 사용하도록 사용자 계정을 변환합니다.
ALTER USER '<mysqlUsername>'@'localhost' IDENTIFIED WITH mysql_native_password BY '<mysqlUsernamePassword>';
- MySQL 서버 수정 구성:
- MySQL Server의 구성 파일(일반적으로 my.cnf라는 이름)을 열고 [mysqld] 섹션으로 이동합니다.
- caching_sha2_password에서 "default_authentication_plugin" 설정을 다음으로 설정합니다. mysql_native_password:
[mysqld] default_authentication_plugin=mysql_native_password
참고: MySQL 서버 구성 파일을 변경한 후 변경 사항을 적용하려면 MySQL 서버를 다시 시작해야 합니다.
새 사용자 만들기 mysql_native_password:
mysql_native_password 인증을 사용하여 새 사용자를 생성할 때 다음 명령을 사용하십시오.
CREATE USER '<mysqlUsername>'@'localhost' IDENTIFIED WITH mysql_native_password BY '<mysqlUsernamePassword>';
추가 고려 사항:
- 데이터베이스에 연결하는 데 사용하는 사용자에게 적절한 권한이 있는지 확인하십시오.
- 추가 컨텍스트를 제공할 수 있는 추가 오류 메시지가 있는지 MySQL 서버의 오류 로그를 확인하세요.
- 보안을 더욱 강화하려면 MySQL 서버의 비밀번호 해싱 알고리즘을 업데이트하는 것이 좋습니다.
위 내용은 'mysqli_connect 인증 방법을 알 수 없음([caching_sha2_password])' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

핫툴 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Alter Table 문을 사용하여 MySQL에서 테이블을 어떻게 변경합니까?

MySQL의 문제를 해결하는 방법 공유 라이브러리를 열 수 없습니다.

Linux에서 MySQL을 실행합니다 (Phpmyadmin이있는 Podman 컨테이너가 포함되지 않음)

일반적인 취약점 (SQL 주입, 무차별 적 공격)에 대해 MySQL을 어떻게 보호합니까?
