기타/문제해결

[node.js] mariaDB 연결 시 unknown plugin auth_gssapi_client 에러

닉네임없음ㅎ 2024. 7. 23. 20:40

[node.js] mariaDB 연결 시 unknown plugin auth_gssapi_client 에러

컴퓨터를 새로 바꾸면서 nodejs와 mariadb 모두 새로 설치했다.
그리고 바로 뱉은 에러 ^^..


Error: Server requests authentication using unknown plugin auth_gssapi_client. See TODO: add plugins doco here on how to configure or author authentication plugins.

ALTER USER 'root'@'{host}' IDENTIFIED VIA mysql_native_password USING PASSWORD('{비밀번호}');


이 명령문을 실행하였더니 에러가 사라졌다 ! 

 


 

auth_gssapi_client 가 뭐야 ? 

'auth_gssapi_client'에러는 mariadb 서버가 클라이언트에게 'auth_gssapi_client' 플러그인을 사용하여 인증할 것을 요청하는데, 
클라이언트가 이를 인식하지 못해 발생함 !

무슨말이냐하면..
mysql이 업그레이드 되면서 기본 인증 정책이 mysql_native_password에서 caching_sha2_password로 변경되었음. 
이렇게 변경됨으로써 더 견고해진 것은 맞지만 문제는 예전 client로 연결 시 에러가 발생할 수 있다는것임..

해결하기위해 dbms나 사용자의 인증정책을 변경하는것. ! 

그래서 내가 실행한 명령문은 
이전의 mysql_native_password 인증 정책으로 변경한 것이다 ! 

mysql의 서버 설정에 mysql_native_password 인증을 기본인증방법으로 설정하겠다는 내용을 추가하고 재시작 해도 됨. 

default_authentication_plugin=mysql_native_password



* nodejs 애플리케이션에서 mysql 드라이버 대신 mysql2를 설치하여 사용하는게 근본적인 해결방법이라는 글도 봤음..!

npm uninstall mysql
npm install mysql2



어쨌든 나는 인증정책을 변경하는것으로 해결하였다 !