php mysqli_connect: 클라이언트가 알 수 없는 인증 방법
P粉170858678
P粉170858678 2023-10-13 18:02:37
0
2
683

저는 PHP를 사용하여 mysqli_connect MySQL 데이터베이스에 로그인하고 있습니다(모두 로컬 호스트에 있음)

으아아아

mysql.user 테이블은 다음과 같습니다.

MySQL 서버 ini 파일:

으아아아

MySQL Server ini 파일에서 caching_sha2_password를 사용하면 user1 또는 user2로 로그인할 수 없습니다.

오류: mysqli_connect(): 서버가 클라이언트 [caching_sha2_password]를 요청했습니다. 알 수 없는 인증 방법...

MySQL Server ini 파일에서

를 사용하면 user1로 로그인할 수 있지만 user2로 로그인하면 동일한 오류가 발생합니다. mysql_native_password

mySql 서버에서
로그인을 사용하는 방법은 무엇입니까?

P粉170858678
P粉170858678

모든 응답(2)
P粉727416639

저는 SQL 명령을 통해 이 문제를 해결했습니다:

으아아아

참조: https://dev.mysql. com/doc/refman/8.0/en/alter-user.html

새 사용자를 생성하는 경우

으아아아

참조: https://dev.mysql. com/doc/refman/8.0/en/create-user.html

이것은 나에게 효과적이었습니다

P粉225961749

PHP 7.4부터는 더 이상 문제가 되지 않습니다. mysqlnd는 caching_sha2 인증 방법에 대한 지원을 추가했습니다.


현재 새로운 caching_sha2 인증 기능은 PHP mysqli 확장 프로그램에서 지원되지 않습니다. 업데이트가 나올 때까지 기다려야 합니다.

MySQL 개발자의 관련 게시물 보기: https://mysqlserverteam.com/upgrading-to-mysql-8-0-default-authentication-plugin-considerations/

PDO에 대해서는 언급하지 않았습니다. PDO 연결을 사용해 보시는 것이 좋을 것 같습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!