TigerCow.Door

'윈도우'에 해당되는 글 1건

안녕하세요. 문범우입니다.

오늘은 MongoDB를 Windows OS에 설치해보도록 하겠습니다.

MongoDB는 NoSQL 데이터베이스로 분류됩니다.

MongoDB는 SQL보다 더 간결하지만 SQL과 유사한 쿼리를 사용하는 이점 때문에 사용 유저가 많은 편입니다.

아무 조건 없이 저장해도 동작이 되고 프로그래밍 언어에서 쓰던 데이터의 형태 그대로 저장이 가능하다고 합니다.

또한 테이블 스키마가 없어서 테이블 수정 인덱스 추가 변경이 백그라운드에서 처리 가능한 것이 장점이라 볼 수 있습니다.


단점으로는, memory가 가득 차서 HDD로 내려가 데이터를 처리하면 속도가 급감하며

데이터 삭제나 업데이트를 했을 때 단편화 문제를 발생시켜 데이터 처리에 필요 이상의 memory를 사용할 수 있다고 하네요.


뭐 이론적인 내용은 그렇습니다!

그럼 바로 설치를 시작해보도록 할게요!




1. MongoDB 설치하기


먼저 아래 링크를 통해 MongoDB 설치파일을 다운 받도록 합니다.

https://www.mongodb.com/download-center?jmp=homepage#community



자신에게 맞는 OS를 선택해서 다운로드를 진행합니다!

저는 현재 Windows 10이기 때문에 위의 사진에서 다운로드를 진행하였습니다.


다운받은 파일을 실행시켜 MongoDB 설치를 진행합니다.

설치하면서 그냥 next만 눌러주시면 되고 중간쯤에서 Setup Type에서 저는 Complete를 선택하였습니다.



이렇게 설치가 완료되었습니다!


2. MongoDB 테스트(Test)

2-1. MongoDB server 실행하기 (mongod.exe)


설치한 MongoDB를 테스트해보기 위해 아래와 주소의 폴더로 들어 갑니다.


C:\Program Files\MongoDB\Server\3.4\bin



그럼 위의 사진에서 확인할 수 있듯이, mongo.exe 파일과 mongod.exe 파일이 존재하는 것을 확인할 수 있습니다.


mongod.exe 파일은 MongoDB server의 실행 파일입니다.

mongo.exe 파일은 MongoDB 자체를 조작할 수 있는 MongoDB Shell 프로그램 입니다.


따라서,

먼저 MongoDB Shell을 시작하기에 앞서 MongoDB server를 실행시켜 줘야합니다.

따라서 아래와 같이 현재 폴더에서 명령프롬프트(cmd)창을 켜주시거나

명령프롬프트(cmd) 창을 켜서 현재 폴더의 위치로 들어옵니다.



MongoDB 의 server를 실행시켜주기 전에!

한가지 진행해야 할 일이 남았습니다.

MongoDB는 기본적으로 참조하는 db 폴더가 있는데 그것을 생성해줘야 합니다.

cmd 창에 아래와 같은 명령어를 입력해줌으로써 MongoDB가 기본적으로 참조하는 C:\data\db 경로를 만들어 줍니다.


mkdir C:\data\db



그리고 cmd창에 아래와 같은 명령어를 입력함으로써 MongoDB server를 실행시킵니다.


mongod.exe



(Windows 방화벽 관련 창이 뜨면 허용을 눌러주도록 합니다!)



이렇게 해서 MongoDB server를 정상적으로 실행시켰습니다.


2-2. MongoDB Shell 실행하기 (mongo.exe)


MongoDB server가 실행되고 있도록 하고, cmd 창을 하나 더 열어서 2-1. 에서 들어 갔던 경로로 다시 들어가도록

아래 명령어를 입력합니다.


cd C:\Program Files\MongoDB\Server\3.4\bin



그리고 mongo.exe 를 입력하여 MongoDB Shell을 실행합니다.



위의 그림과 같이 '>' 표시가 떠야합니다.

제대로 설치되었는지 확인하기 위해서는 show dbs를 입력합니다.



위와 같이 뜬다면 정상적으로 설치 된 것 입니다.



이렇게해서 MongoDB 설치를 성공적으로 진행하였습니다 :)

다음번 부터는 MongoDB 를 이용해서 뭐든해봅시다.

기본적인 명령어부터 알아가며 공부해볼게요~

블로그 이미지

Tigercow.Door

Web Programming / Back-end / Database / AI / Algorithm / DeepLearning / etc

댓글을 달아 주세요