본문 바로가기
Database/MongoDB

MongoDB 설치 및 실행 총정리 # MongoDB NodeJS

by Developer88 2021. 5. 11.
반응형

오늘은 NoSQL의 대표주자인 MongoDB를 설치하고 설정하여서 실행하는 방법을 정리해 보도록 하겠습니다.

참고로 이 글은 Mac에서의 설치를 중심으로 작성되었습니다.

추후에 Linux에서의 설치 방법도 업데이트하도록 하겠습니다.

 

1. MongoDB 

MongoDB를 설치할 파일을 다운로드 받기 위해서 홈페이지로 이동합니다.

>> www.mongodb.com/

 

아무래도 사업의 중심이 Cloud이다보니, 어디로 가야할지 조금 어려우실텐데요.

저희처럼, MongoDB를 서버에 설치해서 사용할 사람들은 아래 메뉴를 이용해서 이동하면 됩니다.

Software > Community Server 로 이동해 줍니다.

 

 

 

나오는 화면의 우측에 Download할 OS를 선택하도록 되어있는데요.

선택해서 다운로드 받아줍니다.

 

2. MongoDB 설치

2-1. 압축풀린 파일 보기

다운로드 받아서, 압축을 풀면, 아래와 같은 구조가 보이는데요.

 

 

각 파일들은 아래와 같습니다.

핵심은, mongod를 실행시켜서 서버를 동작시킨 후에,

mongo를 실행시켜 shell에서 mongo를 실행해보거나,

mongoose같은 클라이언트로 접근하면 되겠지요.

 

구분 내용
install_compass compass 설치파일
mongod Database Server를 가르킴
mongos Sharding Router
mongo Database Shell (interactive javascript 를 사용한다고 되어 있음)

 

 

2-2. 압출풀린 파일 이동

웹브라우저를 이용해서 다운로드를 받았으므로, Downloads폴더에 파일이 존재하게 되는데요.

해당파일을 더블클릭해서 압축을 풀고, 파일을 저희가 원하는 디렉토리로 이동시켜주어야 합니다.

여기서는 mysql 등이 설치된 디렉토리에 설치하려고 합니다.

 

Mac에서는 "/usr/local"디렉토리인데요.

아래의 mv명령어를 이용해서 이동시킬 수 도 있구요.

 

sudo mv <몽고디피파일> /usr/local/mongodb

 

터미널에서 "/usr/local/"디렉토리로 이동한 후에, "open ."명령어를 이용해서 뷰파인더를 열고, 드래그앤 드롭을 해 주어도 됩니다.

보통 폴더명뒤에 버전명이 길게 적혀있는데, mongodb라는 이름으로 바꾸어줍니다.

 

3. MongoDB 서버 실행

3-1. 환경변수 설정

이제 서버실행명령어인 mongod를 터미널 어디에서나 실행시킬 수 있도록 환경변수를 설정해주겠습니다.

필수는 아니지만, 실행할 때마다 디렉토리위치를 같이 넣어주는 것이 너무 불편하기 때문이지요.

 

A. Bash터미널

bash터미널에서 ".bash_profile" 설정해 주면 되는데요.

아래 명령어로 실행해주면 됩니다.

vi가 편하신분들은 nano대신 vi를 넣어주시면 되겠지요.

(사실, mac에서는 그냥 open ~/.bash_profile 명령어로 하는 것이 편하기는 합니다.)

 

nano ~/.bash_profile

 

열어서 다음내용을 넣어주시기만 하면 됩니다.

 

export MONGO_PATH=/usr/local/mongodb/bin
export PATH=$PATH:$MONGO_PATH

 

 

B. Zsh 터미널

zsh터미널을 사용하시는 분들도 크게 다르지 않습니다.

편집할 파일이름만 다른고 넣어주어야 할 내용은 위와 같습니다.

 

nano ~/.zshrc

 

환경변수 설정이 완료되었으니,

 

이제 아래 명령어로 정상적으로 실행되는지 확인해 주면 됩니다.

 

mongo --version

 

정상적으로 나오는 것을 볼 수 있네요.

 

 

3-2. dbpath 생성

처음 mongoDB를 설치하고 조금 어려운 부분중 하나인데요.

실제로 DB를 저장할 위치를 지정해 주는 것 입니다.

이것이 정상적으로 설정되어 있지 않으면, mongoDB를 실행시켜도 dbpath가 없다는 에러가 나오게 됩니다.

 

MongoDB의 디폴트 dbpath값은 "/data/db"입니다.

(참고로, mysql도 "/usr/local/mysql/data"가 Mac에서의 기본위치입니다)

Mac의 카탈리나OS버전 이후에는 root에 쓰기가 않되어 문제가 발생하므로,

유저디렉토리로 이동한 후에, "data/db" 폴더를 먼저 생성한 후 설정해 주는 방식으로 진행하겠습니다.

dbpath는 폴더에서 생성할 수도, 터미널에서 생성할 수도 있습니다.

 

A. Finder에서 폴더 생성

예를 들어, Mac의 유저명이 부엉이라면,

파인더에서, 부엉이 폴더로 이동해서, "data/db"를 생성해 주셔도 되구요.

 

 

B. 터미널에서 폴더생성

터미널에서 "cd ~"로 홈으로 이동한 후에,

그 곳에서 아래 명령어를 이용해 디렉토리를 생성해 주셔도 됩니다.

 

sudo mkdir -p data/db

 

해당 디렉토리에서 생성한 "/data/db"에 대한 권한까지 설정해 주면 마무리 됩니다.

 

sudo chown <유저명> ./data/db

 

3-3. dbpath 설정 후 실행

이제 아래 명령어를 통해서 dbpath를 설정해서, mongod를 실행해 주면 됩니다.

 

mongod --dbpath=<몽고DB 데이터 디렉토리>

 

저희는 유저디렉토리 및에 생성하였으므로 아래와 같이 입력해 주면 되겠지요.

정확한 path는 고민하지 마시고, 터미널에서 "pwd"로 확인하여 복사해서 정확하게 적어넣어주시면 됩니다.

 

mongod --dbpath=/Users/{username}/data/db

 

 

이렇게 하면 mongoDB서버가 동작하는 것을 보실 수 있는데요.

이제 터미널의 다른 탭에서 "mongo" 명령어를 실행시키면, 아래와 같이 본격적으로 mongo가 동작하는 것을 볼수 있습니다.

 

 

4. 팁

4-1. 데이터디렉토리 찾는 방법

혹시나, 나중에 데이터 디렉토리를 잊어버렸다면,

MongoShell을 실행시킨다음 다음 명령어를 실행시켜주면 "dbpath"를 볼 수 있습니다.

db.serverCmdLineOpts()

 

실행하면 아래와 같이 결과를 볼 수 있습니다.

 

 

4-2. Address already in use Exception

간혹 MongoDB가 제대로 끝나지 않은 상태에서, 다시 실행시키려고 하면 "Address already in use" Exception을 볼 수도 있습니다.

이럴경우 가장 쉬운 방법은 해당 Process를 끝내고 다시 시작하는 것 인데요.
아래 명령어를 입력해 주면 됩니다.

sudo killall mongod

 

이상으로 MongoDB 설치와 실행방법에 대해서 정리해 보았습니다.

 

728x90

댓글