본문 바로가기
공유방/OS 정보

[CentOS] MongoDB 설치

by MoelCano 2023. 7. 14.
반응형

요즘 프로젝트 작업을 하다가 FireBase의 RealTimeDatabase라는 것을 접하게 되었습니다.

음.. NoSQL이 이런식인가? (참고로 NoSQL 은 한번도 써본적이 없다지요.)

급 관심을 가지게되었고 그나마 기억나는 디비 MongoDB...

한번 설치를 해볼까? 하고 끄적끄적 중이랍니다.

기록이 기억을 지배하니까요. 😂

 

 MongoDB에 대하여 이 쪽 블러그를 참고 하였습니다. 상사하게 잘 적혀있네요!

https://cionman.tistory.com/43

 

00. MongoDB(몽고디비) Study - 목차

올해 초 Electron으로 개인 프로젝트를 하며 올 한해는 자바스크립트 분야를 두루 경험해보자고 마음먹었습니다. 그래서 '리눅스(CentOS) 개발 놀이터 만들기’ 를 하면서 자바스크립트로 이것저것

cionman.tistory.com

 

일단 CentOs는 RedHat 계열입니다.

https://www.mongodb.com/docs/upcoming/tutorial/install-mongodb-on-red-hat/

 

Install MongoDB Community Edition on Red Hat or CentOS — MongoDB Manual

Docs Home → MongoDB Manual MongoDB 7.0 Release CandidatesMongoDB 7.0 binaries are currently available only as release candidates. Release candidates can be used for early testing of new features, but are not suitable for production deployments.This versi

www.mongodb.com

사이트를 확인해보시면 7.0 버전까지 릴리즈 된 것을 확인 할 수 있네요.

지금 사용하고 있는 CentOs가 8버전인데 7버전은 설치가 불가하여 정보를 찾아보다가

6.0 버전이 맞더군요. 그래서 오늘 설치할 버전은 Community Edition 6.0 입니다.

 

Yum을 통해 설치하기 위해 Repo 정보를 작성합니다.

vi /etc/yum.repos.d/mongodb-org-6.0.repo
[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc

 

Repo 작성 후 설치를 진행합니다.

yum install -y mongodb-org

설치가 완료되면 서비스 등록 및 실행을 해야겠지요?

systemctl enable mongod
systemctl start mongod

 

Mongo를 사용해볼까요?

어쩐지 너무 쉽게 진행되더라니..... 이래저래 검색해보니

땡큐!!!! 6.0은 mongosh 명령어라고 하네요.

 

... 아마도 잘 설치될 거라고 믿어 의심치 않네요...

이런 글을 쓰는 이유는.. 장난감으로 싸게 구입한 피시라서 그런지 CPU의 AVX 명령을 지원하지 않는다고 하네요...ㅠㅠ

검색 결과 5버전도 마찬가지 인 것 같아 좀 더 낮은 버전을 설치해야겠습니다.

 

MongoDB 삭제

systemctl stop mongod
yum erase $(rpm -qa | grep mongodb-org)

4.4버전 Repo 작성

[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc

돌고돌아 설치는 하였고 실행도 되었네요.

 

일단 연결이 되었으면 원격지에서 접속 가능하도록 설정해야겠지요.?

use admin
db.createUser({
  user: "유저아이디",
  pwd: "유저비밀번호",
  roles: [
    { role: "readWrite", db: "toyMongoDb" }
  ]
})

exit 명령어를 사용하여 종료 할 수 있습니다.

아무래도 기본 포트를 사용하기 싫으시다면 역시나 설정해야겠지요?

vi /etc/mongod.conf

기본적으로 27017번으로 잡혀있고 원격지에서 접속을 하고자 하신다면  bindIp 정보를 0.0.0.0 으로 변경하시면 됩니다.

또한 MongoDb는 기본적으로 인증 없이 접속이 가능한데, 인증 받는 사용자만 접속하게 설정하시려면

#security 주석을 풀어주시고  authorization: enabled 을 입력하여주세요. 

주위하실 점은 띄어쓰기가 필요할실 때는 Tab키를 사용하지 말고 SpaceBar를 통해 띄어쓰기 해주세요.

대략 이런 식으로 설정이 되겠네요.

위의 설정이 완료되시면 방화벽 열어주시구요.

firewall-cmd --permanent --add-port=변경포트/tcp
firewall-cmd --reload

 

마지막으로 서비스 재시작합니다.

systemctl restart mongod

한가지 더 추가로 SSH에서 mongo를 접속하실 때 포트가 변경되었음으로

mongo --port 변경한포트번호

로 접속하셔야합니다.

 

DataGrip에서 원격 접속 완료!

반응형