카테고리 없음

springboot 에서 mongodb 접속하기(비밀번호설정되있을경우)

초록색거북이 2023. 5. 18. 15:15
728x90
반응형
SMALL

mongoDB를 써보고싶어서 비밀번호 설정도 안하고 막무가내로 Springboot 설정에 mongodb를 연동하였다.

 

'와 이렇게 쉽다고??' 라고 생각하고 시간이 지나고 지나고 지나고.....

 

어떤 이상한 사람이 내 mongodb에 들어와 데이터를 싹다 지우고 BTC(비트코인)을 달랜다.... 그럼 데이터 복구해주겠다나머라나...

 

 

어차피 더미데이터 뿐이여서 큰일은 아니였지만, 비밀번호 설정을 따로 해야겠다는 생각이 들었다.

 

mongoDB 비밀번호 설정하는 법

 

# vi /etc/mongod.conf

// 인증 disabled 처리
security:
    authorization: enabled
#  authorization: disabled
#  keyfilekeyFile: /etc/mongodb_key

# service mongod restart

 

권한을 사용하겠다.라는 것을 설정한다.

 

그리고 

 

mongo쉘에 접속한다.

mongo 로 접속

#mongo버전 6.0 이상인 사람은

mongosh 로 접속

mongo 접속안될경우

 

Command 'mongo' not found 몽고디비

몽고디비 쉘 접속이 안됀다.. 원인이뭘까. 일주일 내내 엄청나게 찾아봤다...... 원인. mongodb 버전 6.0 이상을 사용하는 경우 mongodb 셸 에 들어가기 위해 사용해야 하는 명령이 mongo 에서 mongosh 로 변

yjkim-dev.tistory.com

 

use admin
db.createUser({ user: '이름', pwd: '비밀번호', roles: ['root'] })

이러면 끝.

 

접속할때.

mongo admin -u 계정명 -p 새비밀번호

해서 접속이 된다면, 정상적으로 비밀번호 세팅 완료.

 

application.yml

spring:
  data:
    mongodb:
      host:
      port:
      database:
      username:
      password:
      authentication-database:

이렇게 해주면 된다고 하는데, 이상하게도 나는 접근이 안됐다.

 

위에 처럼 설정해줬는데도 오류나는 사람들은

 

spring:
  data:
    mongodb:
      uri: mongodb://username:password@host:port/?authSource=admin&authMechanism=SCRAM-SHA-1
      database:

이렇게 해주면 된다.

 

이유는 추후에 찾아보고 블로그에 포스팅예정!

 

728x90
반응형
LIST