728x90
반응형
Node.js를 사용해서 서버를 구현하다보면 mysql 모듈을 사용해서 MySQL이나 MariaDB에 연결을 시켜서 데이터를 주고 받는 기능을 구현해야 할 때가 생긴
다.
이 때에 흔히들 다음과 같은 에러 메세지를 마주하게 된다.
이 "ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server"라는 에러 메세지 통해서 알 수 있듯이 클라이언트 쪽에서 지원하지 않는 인증 모드를 사용하고 있어서 db 연결이 실패했다는 것이다.
MySQL의 경우 5.7 버전 이전과 5.7 버전 이후 버전에서 사용하는 비밀번호 인증 방식이 다르기 때문에 생기는 문제로 아래와 같은 방식을 통해서 쉽게 문제 해결이 가능하다.
- 5.7 버전 미만
- 5.7 버전 이상
그러나, MariaDB에서는 위의 방식으로도 문제 해결이 되지 않았다. 처음에는 그저 MySQL과 MariaDB의 SQL 문법 차이에 의해서 생긴 문제일 것이라고 생각하고 구글 검색을 해보았지만, 그런 이유가 아니었다.
오랜 검색을 해본 결과, MariaDB는 MySQL과는 다르게 default가 모든 권한을 주는 것이 아니라는 것을 알아내었다.
필자의 경우 아래의 방식으로 MariaDB 연결 문제를 해결하였다.
만약 더 자세한 설명을 읽어보고 싶다면 다음 링크로 가서 설명을 읽어보도록 하라.
반응형
'JavaScript > Node.js' 카테고리의 다른 글
우분투 18.04 LTS에서 Node.js version 10과 pm2 설치하기 (2) | 2022.10.01 |
---|---|
Error: ER_CON_COUNT_ERROR: Too many connections (0) | 2018.08.09 |
비동기 프로그래밍 (0) | 2018.07.31 |
모놀리식 아키텍처와 마이크로서비스 아키텍처 (0) | 2018.07.31 |
express에서의 템플릿 엔진 사용 (0) | 2018.07.24 |