SW/리눅스

Linux : CentOS 8 : MongoDB 설치 방법, 예제, 명령어

얇은생각 2022. 7. 16. 07:30
반응형

MongoDB는 자유-오픈 소스 문서 데이터베이스입니다. NoSQL이라는 데이터베이스 제품군에 속하며 MySQL 및 PostgreSQL와 같은 기존의 테이블 기반 SQL 데이터베이스와는 다릅니다.

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

이 튜토리얼에서는 CentOS 8 서버에 MongoDB Community Edition을 설치하고 구성하는 방법을 설명합니다.

 

 

Linux : CentOS 8 : MongoDB 설치 방법, 예제, 명령어

 

 

MongoDB를 설치

CentOS 8 코어 저장소에서는 MongoDB를 사용할 수 없습니다. 공식 몽고DB 저장소를 활성화하고 패키지를 설치하겠습니다.

이 기사를 작성할 당시 공식 MongoDB 저장소에서 사용할 수 있는 최신 버전의 MongoDB는 4.2 버전입니다. 설치를 시작하기 전에 MongoDB 설명서의 Red Hat에 설치 섹션을 방문하여 사용 가능한 새 버전이 있는지 확인하십시오.

다음 단계를 루트 또는 sudo 권한을 가진 사용자로 수행하여 CentOS 8 시스템에 MongoDB를 설치합니다.

 /etc/yum.repos.d/ 디렉토리 내에 mongodb-org.repo라는 새 리포지토리 파일을 만들어 MongoDB 리포지토리를 활성화합니다.

# /etc/yum.repos.d/mongodb-org.repo

[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

 

 

이전 버전의 MongoDB를 설치하려면 4.2의 각 인스턴스를 원하는 버전으로 바꾸십시오.

mongodb-org 메타 패키지를 설치합니다.

sudo dnf install mongodb-org

 

 

설치 중에 MongoDB GPG 키를 가져오라는 메시지가 나타납니다. y를 입력하고 Enter를 누릅니다. 

다음 패키지가 mongodb-org 패키지의 일부로 시스템에 설치됩니다.

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

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

- mongodb-org-shell - MongoDB에 대한 대화형 JavaScript 인터페이스인 mongo shell은 명령행으로 간주되었습니다.

- mongodb-org-tools - 데이터, 통계 및 기타 유틸리티를 가져오고 내보낼 수 있는 여러 MongoDB 도구를 포함합니다.

 

설치가 완료되면 MongoDB 서비스를 활성화하고 시작합니다.

sudo systemctl enable mongod --now

 

 

설치를 확인하려면 MongoDB 데이터베이스 서버에 연결하고 서버 버전을 인쇄하십시오.

mongo

 

 

다음 명령을 실행하여 MongoDB 버전을 표시합니다.

db.version()

# 4.2.3

 

 

MongoDB를 구성

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

대부분의 경우 기본 구성 설정으로 충분합니다. 그러나 프로덕션 환경의 경우 아래와 같이 보안 섹션을 무시하고 인증을 활성화하는 것이 좋습니다.

# /etc/mongod.conf

security:
  authorization: enabled

 

 

권한 부여 옵션은 데이터베이스 리소스 및 작업에 대한 사용자의 액세스를 규제하는 RBAC(역할 기반 액세스 제어)를 활성화합니다. 이 선택사항이 사용 불가능으로 설정된 경우, 각 사용자는 모든 데이터베이스에 접근하고 모든 작업을 실행할 수 있습니다.

MongoDB 구성 파일을 변경한 후 mongod 서비스를 다시 시작합니다.

sudo systemctl restart mongod

 

 

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

 

 

 

관리 MongoDB 사용자 생성

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

먼저 다음을 통해 MongoDB 셸에 액세스합니다.

mongo

 

 

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

use admin

# switched to db admin

 

 

userAdminAnyDatabase 역할을 사용하여 mongoAdmin이라는 새 사용자를 생성합니다.

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

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

 

 

원하는 관리용 몽고DB 사용자 이름을 지정하실 수 있습니다.

다음을 사용하여 몽고 셸을 종료합니다.

quit()

 

 

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

mongo -u mongoAdmin -p --authenticationDatabase admin

# MongoDB shell version v4.2.3
# Enter password:

 

use admin

# switched to db admin

 

 

이제 다음 항목을 사용하여 사용자를 인쇄합니다.

show users

# {
# 	"_id" : "admin.mongoAdmin",
# 	"user" : "mongoAdmin",
# 	"db" : "admin",
# 	"roles" : [
# 		{
# 			"role" : "userAdminAnyDatabase",
# 			"db" : "admin"
# 		}
# 	],
# 	"mechanisms" : [
# 		"SCRAM-SHA-1",
# 		"SCRAM-SHA-256"
# 	]
# }

 

 

CentOS 8 서버에 MongoDB 4.2를 설치하고 구성하는 방법을 보여드렸습니다.

이 주제에 대한 자세한 내용은 MongoDB 4.2 설명서를 참조하십시오.

 

 

 

참조

https://linuxize.com/post/how-to-install-mongodb-on-centos-8/

 

반응형