JavaScript/Node.js

Node.js에서 MariaDB를 연결할 때에 생기는 문제

검정비니 2018. 7. 24. 21:27
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 연결 문제를 해결하였다.




만약 더 자세한 설명을 읽어보고 싶다면 다음 링크로 가서 설명을 읽어보도록 하라.


http://link2me.tistory.com/431

반응형