>  Q&A  >  본문

php mysqli_connect: 클라이언트가 알 수 없는 인증 방법

저는 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粉170858678P粉170858678393일 전686

모든 응답(2)나는 대답할 것이다

  • P粉727416639

    P粉7274166392023-10-14 16:49:08

    저는 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

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

    회신하다
    0
  • P粉225961749

    P粉2259617492023-10-14 15:47:19

    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 연결을 사용해 보시는 것이 좋을 것 같습니다.

    회신하다
    0
  • 취소회신하다