트러블슈팅

[MongoDB] bad auth: Authentication failed

"유니" 2023. 7. 14. 16:51

 

📍bad auth: Authentication failed 

Next.js 강의를 듣다가 MongoDB 를 처음 접해 보았다. 

모든 것을 강의 그대로 따라 썼을 뿐인데.. 에러를 마주하였다. 왜 때문일까 

 

 

MongoServerError: bad auth : authentication failed at MessageStream.emit (node:events:513:28)

 

이런 에러가 떴는데 보시다시피(?) 몽고DB의 에러이고, 지피티에게 물어보니 친절하게 몽고DB에 대한 인증이 실패해서라고 알려주었다. 이 오류는 주로 잘못된 사용자 이름, 비밀번호 또는 인증 데이터베이스를 사용하여 연결하려고 할 때 발생한다고 한다. 

 

  • 사용자 이름과 비밀번호를 확인해야하고, 
  • 인증 데이터베이스를 확인해야하고, 
  • 몽고DB 버전 확인, 
  • 네트워크 및 방화벽 설정 확인 

 

이렇게 네 가지 방법을 알려주었는데 보통 내가 직면한 에러들의 경우 매우 심플한 것이 문제였던 과거의 경험이 있어서(?) 우선 사용자 이름과 비밀번호를 수정해 주었다. 비밀번호를 수정했는데도 안되어서, admin 설정을 다시했는데 역시나 되었다. 비밀번호 작성하면서 어떤 오타가 있었을 확률이 99.9%겠죠 ... ? 🥲

 

 

 

📍

그리고 내가 한가지 놓쳤던 부분이 있는데, 몽고DB의 url을 그대로 가져오면 <password>가 괄호안에 들어가 있는데, 이대로 써주면 안된다. 괄호를 벗겨주고(?) password를 하기와 같이 적어주어야 한답니다. 

const url =
  "mongodb+srv://admin:password@cluster0.f2gnzw6.mongodb.net/?retryWrites=true&w=majority";
const options = { useNewUrlParser: true };
let connectDB;