Ubuntu 패키지 저장소에 MongoDB가 존재하지만 최신판이 아닐 수도 있다.

여기선 최신판 MongoDB 설치방법을 설명한다.


1. 기존에 설치된 몽고DB 제거


$ sudo apt-get remove mongodb 

$ sudo apt-get autoremove



2. GPG 공개키 얻기


우분투에서는 GPG 키를 통해 소프트웨어 패키지의 진품 여부를 담보 해 준다.

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10



3. Source list 수정


최신판을 받아 올 수 있도록 Source list를 수정한다.

$ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/testing multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
$ sudo apt-get update



4. 몽고DB 설치


패키지 저장소로부터 몽고DB를 설치 한다.

$ sudo apt-get install -y mongodb-org



5. 시스템 설정 파일 만들기


아래는 Ubuntu 16.04 버전 이상에서만 해당되는 작업이다. (서비스 등록을 위한 파일을 만든다.)

$ sudo nano /lib/systemd/system/mongod.service


[/lib/systemd/system/mongod.service]

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual

[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target



6. mongod.conf 수정


5번 과정에서 서비스를 등록하였기 때문에 실행하면 mongod.conf의 설정을 참조하여 몽고DB를 구동하게 된다.

mongod.conf는 기본설정으로 되어 있기 때문에 나의 용도에 맞게 수정이 필요하다.


특히 일반적으로 DB서버를 외부 컴퓨터에서 원격 접속 할 일이 많은데 기본 셋팅으로는 불가능하게 되어있다.

이 부분부터 수정 하도록 한다.


localhost(127.0.0.1)가 아닌 외부 IP에서 접속하려면 /etc/mongod.conf를 다음과 같이 수정한다.

$ sudo nano /etc/mongod.conf


자동으로 현재 IP를 잡기 위해 bind_ip 부분을 주석을 달자. 또는 운영할 IP 주소로 직접 입력해도 무방하다.

추가로 포트를 변경하고 싶으면 포트 부분을 함께 변경하도록 하자.

# network interfaces
net:
  port: 27017
#  bindIp: 127.0.0.1



7. 몽고DB 검증


잘 설치되었는지 확인한다.

$ service mongod status

몽고 클라이언트를 실행하여 작동 여부를 검증한다.

$ mongo

몽고 클라이언트 실행 후 명령어

test



8. 몽고DB 서비스 제어


mongodb는 기본적으로 27017포트를 사용하고, 관리용 페이지는 28017포트를 사용하고 있다.

웹브라우저에서 자신의 IP(e.g. 192.168.0.X:28017)로 접속하게 되면 관리 페이지를 볼 수 있다.

몽고DB는 다음 명령어들로 서비스를 제어 할 수 있다.

시작
$ sudo service mongod start

종료
$ sudo service mongod stop

재시작
$ sudo service mongod restart 



9. DB 관리툴 설치


웹으로 된 몽고DB 관리 페이지가 있지만 여간 불편하다. 대책을 마련하자!

Robomongo는 Windows, OSX, Linux 모두 지원하는 범용 몽고DB 관리툴 이다.

Linux 버전을 다운로드 한 뒤 다음과 같이 설치를 진행하자.

$ tar -xvf robomongo-0.9.0-linux-x86_64-0786489.tar.gz

$ sudo mv -f -r robomongo-0.9.0-linux-x86_64-0786489/ /usr/local/robomongo

$ sudo ln -s /usr/local/robomongo/bin/robomongo /usr/local/bin/robomongo


앞으로는 Terminal에서 어디서든 robomongo를 치면 실행 할 수 있다.

$ robomongo 


실행 후 Launcher의 Robomongo 아이콘에서 오른쪽 버튼을 누른 뒤 Lock to Launcher를 눌러 주게 되면

앞으로 Launchar의 마우스 버튼 클릭 만으로도 실행 가능하다.



10. DB 백업 & 복구


별다른 설정을 하지 않았다면 기본적으로 /var/lib/mongodb 에 모든 DB가 저장된다.

안전한 곳에 복사해 두도록 한다.


백업 한 데이터를 /var/lib/mongodb 에 붙여 넣으면 복구가 완벽히 된다.


몽고DB는 좀 더 많은 기능을 가진 mongodump라는 백업&복원 툴을 제공한다.

이를 이용한 방법은 다음과 같다.


백업

$ mongodump -d [db명]  -o [백업 할 디렉토리]


복구

$ mongorestore -d [db명] [dump된 디렉토리]


하지만 mongodump를 이용시 백업 아이템의 용량이 3배가량 커진다.

특정 카테코리 만을 백업할 때를 제외하곤 그냥 폴더를 몽땅 복사해서 압축 하는 편이 낫다.


'Developments > MongoDB' 카테고리의 다른 글

몽고DB 백업 및 복구하기  (0) 2018.03.16
GridFS를 이용한 대용량 도큐먼트 처리  (0) 2018.03.09
pymongo 도움말  (0) 2016.08.07
몽고DB 스키마 디자인  (0) 2016.08.05
몽고DB 관리툴  (0) 2016.07.30

+ Recent posts