>데이터 베이스 >MySQL 튜토리얼 >Node.js에서 MySQL에 연결할 때 'ER_NOT_SUPPORTED_AUTH_MODE' 오류가 발생하는 이유는 무엇입니까?

Node.js에서 MySQL에 연결할 때 'ER_NOT_SUPPORTED_AUTH_MODE' 오류가 발생하는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-10 02:14:02333검색

Why am I Getting

MySQL-Node.js 연결의 "ER_NOT_SUPPORTED_AUTH_MODE" 오류 문제 해결

"ER_NOT_SUPPORTED_AUTH_MODE" 오류는 Node.js 클라이언트가 MySQL과의 연결을 설정할 수 없습니다. 지원되지 않는 인증 프로토콜로 인해 서버가 작동하지 않습니다. 이 문제는 MySQL 서버가 클라이언트가 지원하지 않는 특정 인증 방법을 요구할 때 발생합니다.

귀하의 경우에는 MariaDB에서 MySQL로 업그레이드했습니다. 그러나 사용 중인 JavaScript 연결 조각은 MySQL 8.0 이상에서 지원되지 않는 MariaDB 인증 프로토콜을 계속 사용하고 있을 수 있습니다.

해결책:

해결 방법 이 문제가 발생하면 MySQL 기본 인증 프로토콜을 지원하도록 Node.js 클라이언트를 업그레이드해야 합니다. 이 프로토콜은 MariaDB 및 MySQL 서버와 모두 호환됩니다.

MySQL 버전 8.0 이상의 경우 다음 명령을 사용하여 루트 사용자의 인증 방법을 업데이트하세요.

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

"root"를 다음으로 바꾸세요. 사용자 이름과 "password"를 원하는 비밀번호로 입력하세요.

인증 방법이 업데이트되면 다음 명령을 실행하여 활성화하세요. 변경 사항:

FLUSH PRIVILEGES;

이제 MySQL 기본 프로토콜을 사용하도록 JavaScript 연결 조각을 수정하세요.

var mysql = require('mysql');

var connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: 'password',
    database: 'foobarDb',
    authPlugin: 'mysql_native_password' // specify the MySQL native authentication protocol
});

이렇게 하면 "ER_NOT_SUPPORTED_AUTH_MODE" 오류가 해결되고 MySQL에 연결할 수 있습니다. Node.js 서버의 데이터베이스입니다.

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

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