>데이터 베이스 >MySQL 튜토리얼 >Node.js를 MySQL에 연결할 때 'ER_NOT_SUPPORTED_AUTH_MODE' 오류를 해결하는 방법은 무엇입니까?

Node.js를 MySQL에 연결할 때 'ER_NOT_SUPPORTED_AUTH_MODE' 오류를 해결하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-17 15:20:02529검색

How to Fix the

Node.js를 MySQL에 연결할 때 ER_NOT_SUPPORTED_AUTH_MODE 오류 해결

Node.js 서버를 MySQL 데이터베이스에 연결할 때 "ER_NOT_SUPPORTED_AUTH_MODE: 클라이언트가 서버에서 요청한 인증 프로토콜을 지원하지 않습니다." 이 문제는 클라이언트와 서버가 서로 다른 인증 방법을 사용할 때 발생합니다.

문제 분석

오류 메시지는 MySQL 서버가 최신 인증 프로토콜을 사용하도록 구성되었음을 나타냅니다. 이는 Node.js 클라이언트에서 지원되지 않습니다. Node.js 클라이언트 버전이 오래된 경우 이러한 문제가 발생할 수 있습니다.

해결 방법

이 문제를 해결하려면 사용되는 최신 인증 프로토콜을 지원하도록 Node.js 클라이언트를 업그레이드하세요. MySQL 서버에 의해. MySQL v8.0의 경우 다음 단계를 따르세요.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;

'root'와 'password'를 실제 사용자 이름과 원하는 비밀번호로 바꾸는 것을 잊지 마세요. 이러한 변경 사항은 연결을 시도하는 사용자에게 적용되어야 합니다.

코드 조각(업데이트)

MySQL 구성 및 사용자 권한을 업데이트한 후 Node. 최신 인증 프로토콜을 지원하는 mysql2 라이브러리를 사용하려면 Node.js 연결 조각을 업데이트해야 합니다.

    const mysql = require('mysql2');

    const connection = mysql.createConnection({
        host     : 'localhost',
        user     : 'root',
        password : 'password',
        database : 'foobarDb'
    });

이러한 단계를 구현하면 Node.js 서버와 MySQL 데이터베이스 간의 연결을 성공적으로 설정할 수 있습니다. "ER_NOT_SUPPORTED_AUTH_MODE" 오류.

위 내용은 Node.js를 MySQL에 연결할 때 'ER_NOT_SUPPORTED_AUTH_MODE' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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