"MySQL 8.0: 인증 오류 해결 - 클라이언트 비호환성"
사용자에게 "클라이언트가 서버에서 요청한 인증 프로토콜을 지원하지 않습니다" 오류가 발생함 MySQL 8.0에 연결을 시도할 때 이 문제가 자주 발생합니다. 이는 MySQL 클라이언트 버전이 MySQL 서버에서 사용하는 인증 프로토콜과 호환되지 않을 때 발생합니다.
문제 이해
MySQL 8.0에는 SCRAM-이라는 새로운 인증 방법이 도입되었습니다. SHA-256. MySQL 클라이언트가 이 방법을 지원하지 않으면 연결 설정에 실패하여 위에서 언급한 오류가 발생합니다.
해결책:
1. 클라이언트 호환성 확인:
MySQL 클라이언트 버전이 MySQL 8.0과 호환되는지 확인하세요. 그렇지 않은 경우 클라이언트를 최신 버전으로 업그레이드하세요.
2. 사용자 인증 재설정:
MySQL Workbench 또는 다른 도구를 사용하여 다음 쿼리를 실행합니다.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; FLUSH PRIVILEGES;
'root' 및 'password'를 실제 사용자 이름과 비밀번호로 바꾸십시오. , 각각
3. 연결 재시도:
제공된 node.js 코드를 사용하여 MySQL 서버에 다시 연결을 시도합니다. 이제 클라이언트에서 SCRAM-SHA-256 인증 방법을 지원하면 연결이 성공적으로 설정됩니다.
4. 대체 수정:
위 단계로 문제가 해결되지 않으면 ALTER USER 쿼리의 사용자 사양에서 @'localhost' 부분을 제거하세요. 예:
ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY 'password';
5. 활성 연결 확인:
MySQL 콘솔을 확인하거나 다음 쿼리를 실행하여 연결이 활성 상태인지 확인하세요.
SELECT USER();
사용자 이름이 반환되면 연결이 성공적으로 설정된 것입니다. .
위 내용은 MySQL 8.0 인증 오류: '클라이언트가 서버에서 요청한 인증 프로토콜을 지원하지 않습니다'를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!