김컴공랩

[스프링부트] Spring 으로 웹 서비스 만들기 - 몽고디비 생성 본문

스프링부트

[스프링부트] Spring 으로 웹 서비스 만들기 - 몽고디비 생성

김컴공 2021. 1. 19. 21:22

헬로월드! 김컴공입니다.

 

이번 포스팅부터는 스프링과 데이터베이스를 연동해보도록 하겠습니다. 데이터베이스는 NoSQL 인 몽고디비를 사용할 것입니다. 오늘 포스팅에서는 몽고디비를 운용하기에 앞서 먼저 데이터베이스를 설치하고 명령어를 익혀보고 권한설정을 해보도록 하겠습니다.

 

 

 

몽고디비 설치

먼저 서버를 배포할 가상머신에 접속합니다.

(클라우드 컴퓨터 및 가상머신 접속은 kimce.tistory.com/category/Cloud 에서 확인하세요.)

 

 

가상머신에 몽고디비 서버를 설치합니다. 아래 명령어는 우분투 운영체제에서의 몽고디비 설치 명령어입니다.

$ apt-get install mongodb

 

 

저 같은 경우 설치하는데 3~5분 정도 소요했습니다. 설치가 완료되면 아래 명령어를 이용해 몽고디비에 접속합니다.

$ mongo

(초기 몽고디비 에러 발생 시 kimce.tistory.com/33 및 kimce.tistory.com/4 를 참고하세요.)

 

 

몽고디비의 간단한 명령어를 입력해볼까요?

> show dbs;

이 명령어는 현재 몽고디비 내 데이터베이스를 나열하라는 쿼리입니다. sql 의 show databases 와 비슷한 역할이라고 보시면 됩니다.

 

데이터베이스 생성

 

그럼 이제 스프링에서 사용할 데이터베이스를 만들어보겠습니다. 디비에 접속해 몽고디비에게 만들어달라고 쿼리를 하면 되겠습니다.

> use test

이는 기존에 test 라는 데이터베이스가 존재하지 않으면, test 라는 이름의 데이터베이스를 만들어달라는 쿼리입니다. 다시 show dbs 를 쿼리해보면,

 

 

 

성공적으로 test 데이터베이스가 생성됐음을 알 수 있습니다. 이제 외부에서 이 데이터베이스에 접근할 수 있도록, 몽고디비 서버에 계정을 생성하고, 그 계정에게 권한을 부여해야합니다.

 

권한 설정을 테스트해보기 위해, 로컬 컴퓨터에 몽고디비 클라이언트를 설치하고, 가상머신의 네트워크 설정에서 몽고디비 포트를 오픈해야합니다. 먼저 클라이언트를 설치해보겠습니다.

 

 

 

 

 

몽고디비 컴파스 설치

몽고디비 공식 홈페이지(www.mongodb.com/) 에 접속해서 상단 "Software" 메뉴에 커서를 올리면 몽고디비 서버와 클라이언트 프로그램이 있습니다. 저는 그 중에 GUI 로 데이터베이스를 관리할 수 있는 "MongoDB Compass" 를 설치하겠습니다.

 

MongoDB Compass (GUI Tool)

저 또한 프로젝트를 여러개 진행하면서 몽고디비를 사용하는 백엔드를 다룰 때 마다 위 툴을 사용했는데요, GUI 이기 때문에 한눈에 상태를 확인할 수 있어서 좋은 툴입니다. 각 운영체제에 맞게 설치한 후에, 위 클라이언트 툴을 이용해 몽고디비 서버에 접속해볼 것입니다.

 

몽고디비는 공식적으로 27017 포트를 사용하고 있습니다. 예를 들어 로컬에 설치된 몽고디비에 접근하기 위해서, localhost:27017 이라는 주소로 접근을 해야한다는 것입니다. 따라서, 클라이언트에서 접근하기 전에, 가상머신의 27017 포트를 오픈해야합니다. 저는 네이버 클라우드 가상머신을 예로 설명드리겠습니다.

 

 

 

 

 

가상머신의 몽고디비 포트 오픈

 

 

가상머신 대시보드로 들어가서, 네트워크 포트를 관리하는 메뉴로 들어갑니다. 위 네이버 클라우드의 경우, ACG 규칙 보기를 확인해서 포트가 오픈되어있는지 확인하고, 그렇지 않으면 Server - ACG 메뉴로 들어가 포트를 오픈합니다.

 

위와 같이 27017 포트를 허용하면 됩니다.

 

 

 

여기까지 적용했으면, 이제 클라이언트에서 접속을 테스트하면서 권한을 설정하면 됩니다. 이 부분부터는 다음 포스팅에서 살펴보겠습니다.

이상입니다.