SW/리눅스

Linux : Ubuntu 20.04 : MongoDB 설치 방법, 예제, 명령어

얇은생각 2022. 11. 24. 07:30
반응형

MongoDB는 무료 오픈 소스 문서 데이터베이스입니다. MySQL 및 Postgre와 같은 기존 테이블 기반 SQL 데이터베이스와는 다른 NoSQL이라는 데이터베이스 제품군에 속합니다.SQL입니다.

MongoDB에서 데이터는 문서마다 필드가 다를 수 있는 유연한 JSON 유사 문서에 저장됩니다. 미리 정의된 스키마가 필요하지 않으며 시간이 지남에 따라 데이터 구조를 변경할 수 있습니다.

Ubuntu 20.04에 MongoDB Community Edition을 설치하고 구성하는 방법을 설명합니다.

표준 Ubuntu 리포지토리에 오래된 MongoDB 버전이 포함되어 있습니다. Ubuntu에 최신 MongoDB를 설치하는 것은 매우 간단합니다. MongoDB 저장소를 활성화하고, 저장소 GPG 키를 가져오고, MongoDB 서버를 설치합니다.

 

 

Linux : Ubuntu 20.04 : MongoDB 설치 방법, 예제, 명령어

 

 

Ubuntu 20.04에 MongoDB를 설치

Ubuntu에 MongoDB를 설치하려면 루트 또는 sudo 권한을 가진 사용자로 다음 단계를 수행하십시오.

HTTPS를 통해 새 리포지토리를 추가하는 데 필요한 종속성을 설치합니다.

sudo apt update
sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common

 

 

리포지토리의 GPG 키를 가져오고 다음을 사용하여 MongoDB 리포지토리를 추가합니다.

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse'

 

 

이 기사를 쓸 당시 MongoDB의 최신 버전은 4.4 버전입니다. 다른 버전을 설치하려면 4.4를 원하는 버전으로 대체합니다.

리포지토리가 활성화되면 다음을 입력하여 mongodb-org 메타 패키지를 설치합니다.

sudo apt install mongodb-org

 

 

다음 패키지가 시스템에 설치됩니다.

mongodb-org-server - mongod 데몬 및 해당 init 스크립트 및 구성입니다.

mongodb-org-mongos - mongos 데몬입니다.

mongodb-org-shell - MongoDB에 대한 대화형 JavaScript 인터페이스인 mongo 셸입니다. 명령줄과 같은 관리 작업을 수행하는 데 사용됩니다.

mongodb-org-tools - 데이터, 통계 및 기타 유틸리티를 가져오고 내보내기 위한 여러 MongoDB 도구가 포함되어 있습니다.

 

 

MongoDB 데몬을 시작하고 부팅 시 다음을 입력하여 시작할 수 있도록 합니다.

sudo systemctl enable --now mongod

 

 

설치가 성공적으로 완료되었는지 확인하려면 mongo 도구를 사용하여 MongoDB 데이터베이스 서버에 연결하고 연결 상태를 인쇄하십시오.

mongo --eval 'db.runCommand({ connectionStatus: 1 })'

# MongoDB shell version v4.4.0
# connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
# Implicit session: session { "id" : UUID("2af3ab0e-2197-4152-8bd0-e33efffe1464") }
# MongoDB server version: 4.4.0
# {
#   "authInfo" : {
#     "authenticatedUsers" : [ ],
#     "authenticatedUserRoles" : [ ]
#   },
#   "ok" : 1
# }

 

 

ok 필드의 값이 1이면 성공했음을 나타냅니다.

 

 

 

MongoDB를 구성

MongoDB 구성 파일의 이름은 mongod.conf이며 /etc 디렉토리에 있습니다. 파일이 YAML 형식입니다.

대부분의 경우 기본 구성 설정으로 충분합니다. 그러나 프로덕션 환경의 경우 다음과 같이 보안 섹션을 주석 해제하고 인증을 사용하도록 설정하는 것이 좋습니다.

# /etc/mongod.conf

security:
  authorization: enabled

 

 

권한 부여 옵션을 사용하면 데이터베이스 리소스 및 작업에 대한 사용자 액세스를 규제하는 RBAC(역할 기반 액세스 제어)가 실행됩니다. 이 선택사항이 사용 불가능할 경우, 각 사용자는 모든 데이터베이스에 대한 접근 권한을 가지고 작업을 수행합니다.

MongoDB 구성 파일을 편집할 때 변경 사항을 적용하려면 Mongod 서비스를 다시 시작하십시오.

sudo systemctl restart mongod

 

 

MongoDB 4.4에서 사용할 수 있는 구성 옵션에 대한 자세한 내용은 구성 파일 옵션 설명서 페이지를 참조하십시오.

 

 

 

MongoDB 관리자 생성

MongoDB 인증을 사용 가능으로 설정한 경우 MongoDB 인스턴스에 액세스하고 관리할 수 있는 관리 사용자를 만들어야 합니다.

Mongo 쉘에 액세스합니다.

mongo

 

 

MongoDB 쉘 내부에서 다음 명령을 입력하여 관리 데이터베이스에 연결합니다.

use admin

# switched to db admin

 

 

다음 명령을 실행하여 암호 changeMe 및 userAdminAnyDatabase 역할을 가진 mongoAdmin이라는 새 사용자를 생성합니다.

db.createUser(
  {
    user: "mongoAdmin",
    pwd: "changeMe",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

# Successfully added user: {
# 	"user" : "mongoAdmin",
# 	"roles" : [
# 		{
# 			"role" : "userAdminAnyDatabase",
# 			"db" : "admin"
# 		}
# 	]
# }

 

 

더 안전한 암호를 설정하는 것을 잊지 마십시오. 관리 MongoDB 사용자의 이름을 원하는 대로 지정할 수 있습니다.

완료되면 다음과 같이 mongo 쉘을 종료합니다.

quit()

 

 

변경 사항을 테스트하려면 이전에 만든 관리 사용자를 사용하여 mongo 쉘에 액세스합니다.

mongo -u mongoAdmin -p --authenticationDatabase admin

 

use admin

# switched to db admin

 

 

show users를 실행하면 새로 만든 사용자에 대한 정보가 나타납니다.

show users

# {
# 	"_id" : "admin.mongoAdmin",
# 	"userId" : UUID("49617e41-ea3b-4fea-96d4-bea10bf87f61"),
# 	"user" : "mongoAdmin",
# 	"db" : "admin",
# 	"roles" : [
# 		{
# 			"role" : "userAdminAnyDatabase",
# 			"db" : "admin"
# 		}
# 	],
# 	"mechanisms" : [
# 		"SCRAM-SHA-1",
# 		"SCRAM-SHA-256"
# 	]
# }

 

 

인수 없이 mongo 쉘에 액세스하여 위와 같은 명령을 사용하여 사용자를 나열할 수 있는지 확인할 수도 있습니다.

Ubuntu 20.04에 MongoDB를 설치하고 구성하는 방법을 보여드렸습니다. 이 항목에 대한 자세한 내용은 MongoDB 설명서를 참조하십시오.

반응형