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. 다음 방법 중 하나를 통해 이를 수행할 수 있습니다.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MyNewPass';
CREATE USER 'foo'@'localhost' IDENTIFIED WITH mysql_native_password BY 'bar';
대안 해결 방법:
또는 X 프로토콜을 기반으로 하는 공식 MySQL Node.js 커넥터를 활용할 수도 있습니다. 이 커넥터는 MySQL 8.0의 새로운 인증 모드를 지원합니다.
위 내용은 내 Node.js 앱이 MySQL 8.0 인증에 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!