Mac에 Homebrew없이 Mongodb 설치하기

몽고디비를 받게되면 기본적으로 윈도우랑 다르게 맥 버전은 인스톨 형식이 아닙니다. Homebrew를 통해서 쉽게 설치(이 링크의 내용은 너무 오래되서 제대로 진행이 안될 수 있다)가 가능하지만 ssd 용량도 아낄겸 이번에는 굳이 몽고디비 설치를 위해 홈브류 설치까지 하고 싶지는 않아서 기본 압축본으로 설치하는 것을 정리해봅니다.

먼저 설치 환경은 아래와 같습니다. 현재 몽고디비 5.x까지 나왔지만 기존에 하던 작업이 4.2.12를 사용했기 때문에 저는 구버전을 설치합니다. 5.x도 크게 다르지 않을꺼라 생각되네요.

  • 맥OS 몬테레이
  • 몽고디비 4.2.12

다운로드 받은 파일의 압축을 풀어줍니다.

파인더에서 command + shift + g키를 눌러서 /usr/local/ 입력후 해당 폴더로 이동합니다.

command + shift + n을 눌러 mongodb 폴더를 생성해줍니다.

기존에 압축 해제했던 파일들을 새로만든 /usr/local/mongodb 폴더에 옮겨줍니다. 이때 압축 해제했던 폴더(mongodb-macos-버전)가 아닌 하위 폴더 안의 것들을 옮겨주면 됩니다.

다음으로 몽고디비의 db와 log용 파일들이 저장될 폴더를 생성해줍니다. 저의 경우는 ssd의 파티션을 나눠놔서 Volumes/Data/data 폴더에 각 db와 log 폴더를 생성했습니다. 만약 파티션이 하나인 분들은 /users 폴더로 이동 후 자신의 계정명 폴더 밑에 data 및 그 하위에 db, log를 생성하시면 됩니다. 또는 바탕화면인 데스크탑에 폴더를 만드셔도 됩니다.

몽고db관련 bin 실행파일들이 어느 위치에서도 실행될 수 있게 path에 지정해줘야합니다. 요즘은 기본 zsh를 사용하므로 터미널에서 vi ~/.zshrc 파일을 아래와 같이 추가해줍니다. i 키를 눌러 내용을 입력모드에서 추가 후esc 누른 후 :wq 를 눌러 저장 후 종료합니다.
export MONGO_PATH=/usr/local/mongodb
export PATH=$PATH:$MONGO_PATH/bin

이제 터미널에서 몽고디비 데몬을 아래의 명령어로 띄워줍니다. --dbpath= 뒤에는 각자의 폴더 위치를 지정해줍니다. 만약 보안관련 팝업이 뜨면서 실행이 안되면 설정 -> 보안 및 개인 정보 보호에서 mongodb관련 확인 없이 허용 버튼을 클릭해줍니다.
mongod --dbpath=/Volumes/Data/data/db

데몬이 실행되었고 mongo를 터미널에서 실행하면 이제 몽고디비를 사용할 수 있습니다.

매번 실행시 --dbpath 옵션으로 path 지정해서 하기는 번거롭고 또 여러 기본적인 옵션들도 필요하기에 config 파일을 설정해서 파일로부터 몽고디비 데몬을 실행할 수 있게 해보겠습니다. 터미널에서 아래의 명령으로 일단 파일을 생성합니다.
vi /usr/local/etc/mongod.conf
그리고 mongodb 사이트의 config 관련 기본 파일 내용을 참고해서 파일 내용을 저장 해줍니다. 여기서 dbpath와 log 패스는 각자의 환경에 맞게 수정해줍니다.

processManagement:
   fork: true
net:
   bindIp: localhost
   port: 27017
storage:
   dbPath: /Volumes/MyData/mongodb/data/db
systemLog:
   destination: file
   path: "/Volumes/MyData/mongodb/data/log/mongod.log"
   logAppend: true
storage:
   journal:
      enabled: true

이제 config 파일을 통해 데몬을 실행해보겠습니다. 아래와 같이 입력해면 실행이 됩니다.
mongod --config /usr/local/etc/mongod.conf

댓글

이 블로그의 인기 게시물

'xxx.exe' 프로그램을 시작할 수 없습니다. 지정된 파일을 찾을 수 없습니다.

goorm IDE에서 node.js 프로젝트로 Hello World Simple Server 만들어 띄워보기

애드센스 수익을 웨스턴 유니온으로 수표대신 현금으로 지급 받아보자.