[MongoDB설치] 맥(Mac)에서 몽고디비(MongoDB) 설치과정

calm·2019년 1월 21일
5
post-thumbnail

#[잠깐!!]

작성자는 MongoDB를 설치 하기 전,
1. Homebrew를 설치/업데이트 한 후 해당 글 방식으로 변경했습니다.
혹시 아래 내용이 제대로 진행되지 않을 경우 Homebrew를 설치 후 읽어주길 바랍니다.(혹시나 해서 입니다..)

(맥 사용자는 Homebrew를 이용한 설치가 안전?하다고 들었습니다.)
Homebrew 설치링크 : https://brew.sh/index_ko
Homebrew 설치 후 "brew update"로 Homebre를 최신으로 업데이트 합니다.

  1. 터미널 shell 을 "zsh"을 사용해 몽고디비를 설치했습니다.
    (참고한 아래 링크는 bash 터미널 기준으로 작성된 글입니다.)

  2. 이 글을 읽을 당시, mongDB 공식페이지 screenShot이 달라질 수 있습니다.

  3. mongodb-osx-x86_64-4.0.5에서 mongodb-osx-x86_64-"4.0.5"은 버전부분입니다. 해당 부분이 변경될 수 있습니다.

#참고 링크

본 글은 아래 자료를 바탕으로 재구성 했습니다.

[web][MongoDB 설치]
http://lab4109.tumblr.com/post/49883198513/mac-osx%EC%97%90-mongodb-%EC%84%A4%EC%B9%98-%EC%8B%A4%ED%96%89

http://uxicode.tistory.com/entry/%EB%A7%A5-osx%EC%97%90-mongodb-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0

http://hyeooona825.tistory.com/4
[mkidr의 플래그 "-p"]
https://kldp.org/node/117871

[mongod와 mongo의 차이점]
https://stackoverflow.com/questions/4883045/mongodb-difference-between-running-mongo-and-mongod-databases

[영상][MongoDB 설치]
https://www.youtube.com/watch?v=d8Pft3pbAZU

#[목차]

#1.[요약] 터미널 history(순서대로-위/아래)
#2.[요약] 명령어 해설
#3. 설치방식
#4. 설치과정(7단계, 위/아래 순서대로, 터미널로 설치)

  • 파일 다운로드
  • 터미널 실행
  • 설치파일 압축풀기
  • 몽고폴더를 /usr/local/mongodb 경로로 이동하고 mongodb로 이름변경하기
  • "/data/db" 폴더 만들기(mkdir) 및 권한부여(chown)하기
  • MongoDB 환경변수의 Path 설정하기
  • MongoDB 설치 확인 및 테스
    #5. mongod와 mongo의 차이점

#1.[요약] 터미널 history(순서대로-위/아래)

$ cd Download
[#finder] mongoDB 설치파일 압축풀기
[터미널이 경로"Download"있는 상태에서]
$ sudo mv mongodb-osx-x86_64-4.0.5 /usr/local/mongodb
$ sudo mkdir -p /data/db
$ whoami
$ sudo chown username /data/db
$ vi ~/.zshrc
$ export MONGO_PATH=/usr/local/mongodb
$ export PATH=PATH:PATH:MONGO_PATH/bin
$ mongo -version
$ mongod

#2. [요약] 명령어 해설

$ cd Download
: 다운로드 된, 몽고DB 설치파일이 있는 "Download"로 이동합니다.

[#finder] mongoDB 설치파일 압축풀기
:finder에서 mongoDB 설치파일을 (압축)풀면 폴더,mongodb-osx-x86_64-4.0.5,가 생깁니다

[터미널이 경로"Download"있는 상태에서]
$ sudo mv mongodb-osx-x86_64-4.0.5 /usr/local/mongodb
:"mongodb-osx-x86_64-4.0.5"는 설치파일을 압축 풀 경우, 나오는 폴더명입니다. 몽고DB의 파일이 있는 폴더를 관리자 권한(sudo)으로 "/usr/local/"로 이동시키고 "mongodb"로 이름변경 시킵니다. 이제 몽고DB파일은 (더 이상 "mongodb-osx-x86_64-4.0.5"이 아니고 ) "/usr/local/mongodb"에서 확인가능합니다.

$ sudo mkdir -p /data/db
:몽고DB가 사용할 폴더를 생성합니다.
/data/db는 mongod(MongoDB)가 기본적으로 데이터를 기록(write)하는 폴더입니다.
이 폴더를 만들어야(있어야) 하는데, 관리자 권한(sudo)으로 만드는데(mkdir), 여러 계층을 한번에(-p)에 구성할 수 있습니다.플래그(-p)는 계층을 한번에 만들어 줍니다.

$ whoami
:현재 로그인된 유저 이름을 알려줍니다.

$ sudo chown username /data/db
:현재 유저(username)가 /data/db를 사용할 수 있습니다.
관리자 권한(sudo)으로 현재 로그인된 유저(username)가
폴더(/data/db)를 사용할 수 있도록 변경(chown)합니다.
변경된 유저(이름)이/가 생성한 /data/db를 사용할 수 있습니다.

$ vi ~/.zshrc
:path를 입력할 수 있도록 이동합니다.

$ export MONGO_PATH=/usr/local/mongodb
$ export PATH=PATH:PATH:MONGO_PATH/bin
:path 설정합니다.
몽고DB의 내용이 /usr/local/mongodb 이동/(이름)변경됐기 때문에 몽고가 작동하기 위해서는 해당 path로 설정되어야 합니다

$ mongo -version
$ mongod
:mongo가 제대로 설정됐는지 확인합니다.

#3. 설치 방식

몽고디비는

  1. Homebrew를 이용한 방식
  2. 파일(.tgz)다운 후 설정방식(install MongoDB Community Edition Manually)

2 가지로 이뤄집니다.

이 글에서는 2번째 방법을 사용합니다.

#4. 설치 과정

1. 파일 다운로드

(해당 홈페이지가 리뉴얼 됨에 따라 ScreenShot 이미지는 달라질 수 있습니다.)

설치파일을 받기 위해, 아래 ScreenShot 대로 화면 이동합니다.


"Download" 버튼을 눌러 파일을 다운받습니다,
저는 파인더의 "Download" 폴더에 저장했습니다.

1-1. 만약 설치 설명서를 보고 싶을 경우,

"Installation Instruction"을 클릭합니다.
그리고 , 브라우저의 스크롤을 아래로 내리면 다음의 화면이 보입니다.

_"Download" 폴더에 몽고디비 설치파일을 다운로드 했습니다.(폴더의 위치가 어디인지 중요하지 않지만, Donwload가 무난하다고 생각합니다.)

2. 터미널 실행

cd Download

터미널을 들어가서 "Download"로 이동합니다.
모든 터미널 작업은 "Download" 경로로 이동후 진행됩니다.

"해당 파일이 있는 곳에서 작업을 진행해야겠죠?"

3. 설치파일 압축풀기

파인더에서 "mongodb-osx-ssl-x86_64-4.0.5.tgz" 압축을 풉니다

위 링크들을 보면,
하나는 압축파일(설치파일)을
다른 하나는 압축이 풀린파일(폴더)를 가지고 실행(tar)해서 혼란이 왔습니다.

다음의 코드가 제가 애를 먹은 코드 입니다.

tar xzf (폴더명)mongodb-osx-x86_64-2.2.3.tgz
tar -xzvf (다운로드 받은 설치파일명)mongodb-osx-ssl-x86_64-3.4.4.tgz

실제 (설치)파일압축을 풀면

(다운로드 받은 설치 파일명) : mongodb-osx-ssl-x86_64-4.0.5
(압축 푼 파일명) : mongodb-osx-x86_64-4.0.5

개인적으로 혼란스러워 그냥 finder에서 파일을 직접 압축풀었습니다.

4. 몽고폴더를 /usr/local/mongodb 경로로 이동하고 mongodb로 이름변경

현재상태 :
"Download"(폴더)에 폴더명 "mongodb-osx-x86_64-4.0.5"가 압축해제 됐을 것이다.

sudo mv mongodb-osx-x86_64-4.0.5 /usr/local/mongodb
(mongodb-osx-x86_64-4.0.5 는 몽고 설치파일이 압축해제 된 폴더 명 입니다.)

"sudo" : 작업자 권한으로
"mv" : 이동시킬 것이다.
"mongodb-osx-x86_64-4.0.5" : mongodb-osx-x86_64-4.0.5를
"/usr/local/mongodb": /usr/local/mongodb 로 (이동 시킨다)

(그럴 경우)

Download 폴더에 "mongodb-osx-x86_64-4.0.5" 폴더가 없어졌을 것이다.

그 이유는 "/usr/local/mongodb"로 "mongodb-osx-x86_64-4.0.5"가 이동했기 때문이다.

5. "/data/db" 폴더 만들기(mkdir) 및 권한부여(chown)

MongoDB는 기본적으로 "/data/db" 폴더에 데이터를 쓰고 저장합니다.이런 이유로 폴더를 만들고 적절한 권한을 지정해 줘야 한다.

5-1. "/data/db" 폴더 만들기

sudo mkdir -p /data/db

관리자 권한(sudo)으로 "/data/db" 를 만듭니다.

"-p"플래그를 하는 이유는,
"계층적인 directory구조를 한번의 command 사용으로 만들고 싶을 때"라고 합니다.
부모 폴더까지 함께 생성합니다.
[참고링크]
https://kldp.org/node/117871

Password는 자신(맥)의 비밀번호를 입력합니다.

5-2. /data/db의 권한변경(chown)하기

whoami
sudo chown username /data/db

"whoami"로 알게 된 username을 위의 "username"에 적습니다.
whoami는 현재 로그인된 유저 이름을 아는 명령어 입니다

sudo chown "username" /data/db

(주의!)
username 부분은 자신의 로그인한 유저 이름을 적어야 합니다.
저의 유저 이름은 rohkorea86 입니다.

[참고자료]
whoami는 현재 (컴퓨터에) 로그인한 유저의 이름을 의미합니다.
chown은 파일의 소유자나 그룹을 변경 할 때 사용합니다.

6. MongoDB 환경변수의 Path 설정하기

(저는 shell을 "zsh" 사용합니다.)

vi ~/.zshrc

를 입력해 path를 입력합니다.

해당 창에 다음의 내용을 적습니다.

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

path를 입력할 때
1) [입력모드 영문 전환 후] i를 입력하면, 스크린에 [insert]라고 보입니다.(i는 insert를 의미합니다.)
2) 작성 후, 키보드 "esc" 버튼을 클릭합니다.(모든 작업을 종료 후, esc 버튼을 클릭합니다.)
3) ":wq" 이라고 작성하면 내용이 저장되고 화면 종료됩니다.

공식문서를 확인하면,

이미, 4번째 단계에서 다음과 같이 했습니다.
sudo mv mongodb-osx-x86_64-4.0.5 /usr/local/mongodb

mongodb-install-directory
mongodb가 설치된 폴더명을 말합니다.

여기에서 설치된 폴더명은
"mongodb-osx-x86_64-4.0.5" 입니다.
PATH가 /usr/local/mongodb인 이유는
"mv" 명령어로 인해서 변경됐습니다.

mv 명령어
"mongodb-osx-x86_64-4.0.5" -> "/usr/local/mongodb"

7. MongoDB 설치 확인 및 테스트

7-1. MongoDB의 버전 확인하기

터미널에서 다시 시작하고 다음을 입력합니다.

mongo -version

다음처럼 나오면 설치가 잘 됐다는 의미입니다.

7-2. MongoDB 서비스 테스트하기(1)

터미널을 다음을 입력합니다.

mongod

다음처럼 나오면 설치가 잘 됐다는 의미입니다.
"종료"를 위해서는 "컨트롤 + c"를 입력한다.

7-2. MongoDB 서비스 테스트하기_(2)

터미널을 이용해 MongoDB에 새로운 db만들고 자료를 넣고 찾아보자.
새로운 터미털 Shell을 열고 각각 터미널의 다음을 입력하자

하나의 터미널에는

mongod

다른 하나의 터미널에는

mongo

라고 입력해보자

"mongo"를 입력한 터미널에서 새로운 db를 만들어보자
db의 이름은 자신 마음대로 해도 된다.
나는 "skycastle"이라는 db를 만들었다, 그리고 title은 best라는 값을 넣었다.

db.skycastle.insert({title:best})

제대로 추가(insert)됐는지 확인(find)해보자

db.skycastle.find()

원하는 값이 출력됐는지 확인해본다?

5.mongod와 mongo의 차이점[작성 중]

mongod is the "Mongo Daemon" it's basically the host process for the database.

When you start mongod you're basically saying "start the MongoDB process and run it in the background". mongod has several default parameters, such as storing data in /data/db and running on port 27017.

mongo is the command-line shell that connects to a specific instance of mongod.

When you run mongo with no parameters it defaults to connecting to the localhost on port 27017. If you run mongo against an invalid machine:port combination then it will fail to connect (and tell you as much).

이상으로 MongoDB 설치과정을 마칩니다:]

profile
공부한 내용을 기록합니다

2개의 댓글

comment-user-thumbnail
2019년 11월 25일

유익한 내용 감사합니다!

답글 달기
comment-user-thumbnail
2021년 2월 28일

data/db 이 폴더가 어디에 생기는건가요? 이거를 못해서.. 진행이 안되네요 ㅠ

답글 달기