>백엔드 개발 >PHP 튜토리얼 >PHP를 사용하는 MySQL 8.0에서 '클라이언트에 알려지지 않은 서버 요청 인증 방법' 오류를 수정하는 방법은 무엇입니까?

PHP를 사용하는 MySQL 8.0에서 '클라이언트에 알려지지 않은 서버 요청 인증 방법' 오류를 수정하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-14 05:45:15664검색

How to Fix

MySQL 8.0 오류: PHP 애플리케이션의 인증 불일치 해결

MySQL 8.0 데이터베이스에 연결하는 PHP 개발자는 "서버가 인증을 요청했습니다"라는 오류가 발생할 수 있습니다. 클라이언트가 알 수 없는 방법입니다." 이 오류는 일반적으로 MySQL 데이터베이스와 PHP 애플리케이션에서 사용하는 인증 방법이 일치하지 않기 때문에 발생합니다.

인증 방법 충돌:

MySQL 8.0은 caching_sha2_password를 사용합니다. 많은 PHP 애플리케이션은 전통적인 비밀번호 기반 인증을 사용할 것으로 예상합니다. 애플리케이션이 잘못된 인증 방법으로 데이터베이스에 연결을 시도하면 서버는 위에서 언급한 오류를 반환합니다.

해결책:

이 문제를 해결하려면 PHP 애플리케이션에서 예상하는 것과 일치하도록 MySQL 데이터베이스에서 사용하는 인증 방법을 수정해야 합니다. 이는 MySQL 데이터베이스의 인증 플러그인을 비밀번호 기반 인증을 지원하는 mysql_native_password로 전환하면 가능합니다.

인증 플러그인 변경 단계:

  1. 로그인 MySQL에 루트로 user:
mysql -u root -p
  1. 루트 사용자에 대한 인증 플러그인을 변경하려면 다음 SQL 명령을 실행하세요.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';

'new_password'를 원하는 비밀번호를 선택하세요.

  1. PHP 애플리케이션이 루트가 아닌 사용자를 사용하는 경우 단계를 반복하세요. 2 해당 사용자에 대해 'root'를 적절한 사용자 이름으로 바꿉니다.
  2. 변경 사항을 적용하려면 MySQL 서비스를 다시 시작하세요.

추가 리소스:

이 주제에 대한 자세한 내용은 다음을 참조하세요. 리소스:

  • [Digital Ocean: MySQL 설치](https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-20-04)
  • [MySQL 설명서: 기본 인증 플러그인](https://dev.mysql.com/doc/refman/8.0/en/server-options.html#sysvar_default_authentication_plugin)

위 내용은 PHP를 사용하는 MySQL 8.0에서 '클라이언트에 알려지지 않은 서버 요청 인증 방법' 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.