본문 바로가기

카테고리 없음

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

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