> 데이터 베이스 > MySQL 튜토리얼 > 내 Node.js 앱이 MySQL 8.0 인증에 실패하는 이유는 무엇입니까?

내 Node.js 앱이 MySQL 8.0 인증에 실패하는 이유는 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-30 14:29:14
원래의
179명이 탐색했습니다.

Why is My Node.js App Failing to Authenticate with MySQL 8.0?

MySQL 8.0의 Node.js 인증 문제

Node.js를 사용하여 루트 계정으로 MySQL 데이터베이스에 연결하려고 할 때 특정 문제가 발생할 수 있습니다. 이는 기본 인증 플러그인이 mysql_native_password에서 caching_sha2_password로 변경된 MySQL 8.0과 특히 관련이 있습니다.

오류 메시지 및 원인

Node.js 애플리케이션으로 MySQL 8.0에 연결을 시도할 때, 다음 오류가 발생할 수 있습니다.

ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
로그인 후 복사

이 오류는 Node.js MySQL 드라이버가 MySQL 8.0에 도입된 새로운 인증 플러그인을 사용할 수 없습니다.

해결 방법:

문제를 해결하고 루트 계정을 사용하여 MySQL 8.0에 연결하려면 기본 플러그인 대신 mysql_native_password 플러그인을 사용할 수 있습니다. caching_sha2_password. 다음 방법 중 하나를 통해 이를 수행할 수 있습니다.

  1. 기존 루트 계정 변경:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MyNewPass';
로그인 후 복사
  1. 원하는 플러그인으로 새 사용자를 생성합니다.
CREATE USER 'foo'@'localhost' IDENTIFIED WITH mysql_native_password BY 'bar';
로그인 후 복사

대안 해결 방법:

또는 X 프로토콜을 기반으로 하는 공식 MySQL Node.js 커넥터를 활용할 수도 있습니다. 이 커넥터는 MySQL 8.0의 새로운 인증 모드를 지원합니다.

위 내용은 내 Node.js 앱이 MySQL 8.0 인증에 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿