MongoDB NoSQL

Windows에 MongoDB 설치하기

최근에 빅데이터와 함께 부각되고 있는 NoSQL DB, 그 중에서도 가장 손쉽게 도입할 수 있다고 알려진 것이 MongoDB입니다.

금번 포스팅에는 제가 WIndows 7에 MongoDB를 사용할 수 있는 환경을 구축한 방법을 소개합니다. 물론 MongoDB의 설치에 대해서는 공식문서에서도 다루고 있습니다만, 개발자마다의 성향은 저마다 다른 법! 이곳에서 다시 한 번 제 방법을 저의 언어로 정리해볼까 합니다.

Step #1. MongoDB 다운로드

MongoDB Downloads

MongoDB는 물론 공식 홈페이지(http://www.mongodb.org/downloads)에서 다운로드 받을 수 있습니다. 제 경우에는 Windows 64-bit용의 2.4.3 버전을 다운로드 받았습니다. 제가 다운로드 받은 Mongo DB 버전은 약 101MB 정도되는 zip 파일 하나로 구성되어 있었습니다.

 

Step #2. 적당한 폴더에 압축해제

윈도우용 MongoDB는 별도의 설치는 필요하지 않았습니다. zip 파일을 받았으면, 원하는 폴더 아래에 압축을 해제하면 됩니다. 제 경우에는 Apache · PHP · MySQL 환경에서 개발을 주로 해왔기 때문에, 깔끔하게 APM Setup을 설치하여 사용하고 있었습니다. 때문에 MongoDB도 가능한한 서버 관련 파일들과 모아서 관리하기 위해 아래 디렉토리에 압축을 해제하기로 하였습니다.

C:\APM_Setup\Server\MongoDB

MongoDB Directory

압축을 풀면 위와 같이 bin 폴더와 함께, 3개의 확장자 없는 텍스트 파일이 있습니다. 텍스트는 간단한 소개와 저작권 관련 내용들로, 한 번씩 훑어보고는 바로 삭제하였습니다.

 

Step #3. 압축을 해제한 폴더에 새로운 폴더 생성하기

다음으로 MongoDB의 실제 데이터들과 로그 파일을 보관할 폴더가 필요했습니다. MongoDB는 별도지정이 없으면 C:\data\db에 데이터를 보관한다고 합니다. 하지만 저는 가급적 데이터를 MongoDB의 실제 실행파일들과 가까운 곳에 보관하고 싶었기 때문에,  다음과 같이 MongoDB 폴더 아래에 data와 log 폴더를 생성하였습니다.

C:\APM_Setup\Server\MongoDB\data
C:\APM_Setup\Server\MongoDB\data\db
C:\APM_Setup\Server\MongoDB\log

MongoDB Directory after Mkdir

물론 말할 것도 없이 데이터는 data 폴더에, 로그는 log 폴더에 보관할 생각입니다.

 

Step #4-1. MongoDB 데몬을 Windows 서비스로 등록하기 (by –insall)

MongoDB를 사용하기 위해서는 데몬인 mongod.exe가 실행되어 있어야만 합니다. 이 파일은 우리가 위에서 압축을 해제하여 나온 bin 폴더 아래에 있는데, 명령프롬프트(cmd.exe)에서 아래와 같이 여러 가지 파라메터와 함께 실행을 할 수 있습니다.

mongod.exe –dbpath C:\APM_Setup\Server\MongoDB\data\db –logpath C:\APM_Setup\Server\MongoDB\log\log.txt –directoryperdb –service

mongod.exe의 파라메터에는 여러 가지 실행 옵션이 포함되어 있습니다. 먼저 –dbpath는 실제 데이터를 어디에 저장할 지에 관한 옵션입니다. 저는 앞서서 생성한 \data\db 폴더로 지정을 하였습니다. 이어서 –logpath 옵션은 로그를 저장할 파일이름을 의미하는데, 지정되지 않으면 Command Line에 로그를 출력합니다. –service는 Command Line 상에서 프로세스가 계속 실행된 상태로 남아있지 않고 데몬으로 이것을 실행하겠다는 의미이며, 마지막으로 directoryperdb는 각 db마다 폴더를 생성할 것인지를 결정하는 옵션입니다.

그 외에 자세한 mongod.exe의 실행옵션에 대해서는 아래와 같이 –help 옵션을 통해 알아보실 수 있습니다.

mongod.exe –help

위처럼 하지만 매번 Windows를 기동할 때마다 데몬을 실행해야 한다면 번거롭기 때문에, Windows 서비스로 등록해놓고 자동시작을 할 수 있게 한다면 훨씬 편리하겠지요. 이를 위해 MongoDB는 자체적으로 데몬을 Windows의 서비스로 등록하는 –install이라는 파라메터를 가지고 있습니다.

mongod.exe –install –dbpath C:\APM_Setup\Server\MongoDB\data\db –logpath C:\APM_Setup\Server\MongoDB\log\log.txt –directoryperdb

위 명령어를 실행하시면 MongoDB 데몬은 자동으로 Windows 서비스로 등록이 됩니다.

 

Step #4-2. MongoDB 데몬을 Windows 서비스로 등록하기 (by sc 명령어)

4-1장처럼 –install 파라메터를 이용하면 MongoDB를 간편하게 Windows 서비스로 등록할 수 있지만, 또한 기초적인 방법대로 윈도우의 sc 명령어를 사용하여 설정을 할 수도 있습니다. sc 명령어의 사용법을 간단하게 정리하면 아래와 같습니다.

sc create [서비스 이름] binPath= [명령어] start= [실행옵션]

이외에도 다양한 파라메터가 있지만, MongoDB 설치에서 저는 위의 2가지 파라메터만 이용했습니다. sc 명령어에 대한 자세한 내용은 Microsoft의 공식문서에서 확인해볼 수 있습니다.

sc create MongoDB binPath= “C:\APM_Setup\Server\MongoDB\bin\mongod.exe –service –dbpath C:\APM_Setup\Server\MongoDB\data\db –logpath C:\APM_Setup\Server\MongoDB\log\log.txt –directoryperdb” start= auto

제가 실제로 사용한 명령어는 위와 같습니다. 일단 서비스 이름은 굵은 글씨로 표시된 바와 같이 “MongoDB”로 정했습니다. 그 후에 붉은 글씨로 표시된 것과 같이 mongod.exe를 실행하는 명령어를 입력했습니다. 관리자 권한을 가진 명령프롬프트(cmd.exe)에서 위 명령어를 실행하면, MongoDB 데몬을 Windows 서비스로 등록할 수 있게 됩니다.

 

Step #4-3. MongoDB 데몬 서비스 실행

Setting MongoDB as Windows Service

4-1장을 따라서 하였든 4-2장을 따라서 하였든 관계없이, 이제 우리는 MongoDB 데몬을 Windows 서비스로 제어할 수 있습니다. 위 스크린샷은 4-2장에서 소개한 명령어를 관리자 권한으로 실행한 명령프롬프트(cmd.exe)에서 입력한 모습입니다. 서비스로 잘 등록되었고, 서비스 시작도 성공적으로 이루어진 모습입니다.

작업관리자에서 확인하는 MongoDB작업관리자에서 MongoDB가 실행되고 있는 모습을 확인할 수 있음은 물론입니다.

 

Step #5. mongo.exe를 Windows 환경변수에 등록하기

MongoDB Shell

MySQL Shell 화면을 만나기 위해 mysql.exe를 실행하듯이, MongoDB Shell 화면은 bin 폴더 아래에 있는 mongo.exe를 실행함으로서 만날 수 있습니다. 하지만 매번 bin 폴더까지 들어와서 mongo.exe를 실행하려면 번거롭겠지요.

명령프롬프트가 위치한 디렉토리가 어디이든 mongo.exe를 실행할 수 있게 하려면, Windows 환경변수에 mongo.exe가 위치한 폴더의 경로를 등록해주어야 합니다.

시스템 환경변수 설정

제어판에서 시스템을 선택하여 화면을 띄운 후, 좌측메뉴에서 고급 시스템 설정을 선택하면 시스템 속성 화면의 고급 탭이 표시됩니다. 여기에서 우측 하단을 살펴보면 환경변수라는 버튼을 발견할 수 있습니다. 클릭해보면 아래와 같은 화면을 만나게 됩니다.

환경변수 Path 설정

화면은 크게 상하로 나뉘어져 있는데, 그 중 아래 쪽의 시스템 변수 목록에서 Path라고 하는 변수를 찾아봅시다. 여기에 exe 파일의 경로를 넣으면, 그 파일은 이제 명령프롬프트가 위치한 곳에 관계없이 실행을 할 수 있게 됩니다. 2번째 버튼인 편집 버튼을 누릅니다.

시스템 변수 Path 설정

이제 변수 값에 우리가 원하는 mongo.exe가 위치한 폴더의 경로를 입력해주면 됩니다. 변수 값은 세미콜론(;)으로 구분되기 때문에, 기존에 입력되어 있던 값 맨 뒤로 커서를 옮겨서 세미콜론 하나를 먼저 붙이신 후 경로를 입력하도록 합니다. 물론 제가 설치한 MongoDB의 mongo.exe 파일이 위치한 폴더의 경로는 아래와 같았습니다.

C:\APM_Setup\Server\MongoDB\bin\

MongoDB 실행 장면

이제 어떤 디렉토리에 명령프롬프트가 위치하고 있더라도 mongo.exe를 실행할 수 있게 되었습니다. 위 화면은 C:\ 루트 디렉토리에서 mongo.exe를 실행하고, 간단하게 테스트를 해본 화면입니다. 이제 우리는 MongoDB를 테스트할 수 있는 첫 걸음을 딛게 되었습니다.

2 thoughts on “Windows에 MongoDB 설치하기”

  1. 여러 포스트를 보아왔는데
    저에겐 가장 정확히 따라할수있고 유익한 포스트이네요 감사합니다.

    1. 유브도기님, 방문과 덧글 감사드립니다.
      개발 공부는 언제나 그런 것 같습니다. 일단 누군가가 가르쳐주는 대로 한 번만 정확하게 작동을 시켜보면, 그 다음에는 빠르고 쉽게 스스로 공부할 수 있는 경우가 많습니다. 그런 글들로 앞으로 계속해서 찾아뵐 기회가 있었으면 좋겠습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *