몽고DB는 자유-오픈 소스 문서 데이터베이스입니다. MySQL 및 PostgreSQL와 같은 기존 테이블 기반 SQL 데이터베이스와는 다른 NoSQL 데이터베이스 계열에 속합니다.
몽고DB에서 데이터는 문서마다 필드가 다를 수 있는 유연한 JSON과 같은 문서에 저장됩니다. 미리 정의된 스키마가 필요하지 않으며 시간이 지남에 따라 데이터 구조를 변경할 수 있습니다.
Debian 10 Buster에 MongoDB Community Edition의 최신 버전을 설치하고 구성하는 방법에 대해 설명합니다.
MongoDB를 설치
표준 Debian Buster 저장소에서는 MongoDB를 사용할 수 없습니다. 공식 MongoDB 저장소를 활성화하고 패키지를 설치하겠습니다.
이 기사를 쓸 당시 몽고DB의 최신 버전은 4.2 버전입니다. 설치를 시작하기 전에, MongoDB 설명서의 Install on Debian 페이지로 이동하여 사용 가능한 새 버전이 있는지 확인하십시오.
Debian 시스템에 MongoDB를 설치하려면 루트 또는 sudo 권한을 가진 사용자로 다음 단계를 수행하십시오.
새 저장소를 추가하는 데 필요한 패키지를 설치합니다.
sudo apt install dirmngr gnupg apt-transport-https software-properties-common ca-certificates curl
MongoDB GPG 키를 시스템에 추가합니다.
curl -fsSL https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
MongoDB 저장소를 활성화합니다.
sudo add-apt-repository 'deb https://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main'
Debian 10에서는 이전 버전의 MongoDB 패키지를 사용할 수 없습니다.
패키지 목록을 업데이트하고 mongodb-org 메타 패키지를 설치합니다.
sudo apt update
sudo apt install mongodb-org
다음 패키지는 mongodb-org 패키지의 일부로 시스템에 설치됩니다.
mongodb-org-server - mongod 데몬과 해당 init 스크립트 및 구성입니다.
mongodb-org-mongos - mongos 데몬입니다.
mongodb-org-shell - 몽고 셸은 몽고DB에 대한 대화형 자바스크립트 인터페이스입니다. 명령줄을 통해 관리 작업을 수행하는 데 사용됩니다.
mongodb-org-도구 - 데이터, 통계 및 기타 유틸리티를 가져오고 내보낼 수 있는 여러 MongoDB 도구를 포함합니다.
MongoDB 서비스를 시작하고 부팅 시 시작할 수 있도록 합니다.
sudo systemctl enable mongod --now
설치가 성공적으로 완료되었는지 확인하려면, Mongo 도구를 사용하여 MongoDB 데이터베이스 서버에 연결하고 연결 상태를 인쇄합니다.
mongo --eval 'db.runCommand({ connectionStatus: 1 })'
# MongoDB shell version v4.2.1
# connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
# Implicit session: session { "id" : UUID("09f11c53-605f-44ad-abec-ec5801bb6b06") }
# MongoDB server version: 4.2.1
# {
# "authInfo" : {
# "authenticatedUsers" : [ ],
# "authenticatedUserRoles" : [ ]
# },
# "ok" : 1
# }
OK 필드의 값이 1이면 성공을 나타냅니다.
MongoDB를 설정
MongoDB 구성 파일의 이름은 mongod.conf이며 /etc 디렉토리에 있습니다. 파일은 YAML 형식입니다.
대부분의 사용자는 기본 구성 설정으로 충분합니다. 그러나 프로덕션 환경의 경우 다음과 같이 보안 섹션의 압축을 풀고 권한을 부여하는 것이 좋습니다.
# /etc/mongod.conf
security:
authorization: enabled
권한 부여 옵션을 사용하면 데이터베이스 리소스 및 작업에 대한 사용자 액세스를 제어하는 RBAC(역할 기반 액세스 제어)를 사용할 수 있습니다. 이 옵션을 사용할 수 없는 경우, 각 사용자는 모든 데이터베이스에 액세스하여 모든 작업을 수행할 수 있습니다.
구성 파일을 편집한 후 mongod 서비스를 다시 시작하여 변경 내용을 적용합니다.
sudo systemctl restart mongod
MongoDB 4.2에서 사용할 수 있는 구성 옵션에 대한 자세한 내용은 Configuration File Options 설명서 페이지를 참조하십시오.
관리 MongoDB 사용자 생성
MongoDB 인증을 활성화했다면 MongoDB 인스턴스에 액세스하여 관리할 수 있는 관리 사용자를 만들어야 합니다. 이렇게 하려면 다음을 사용하여 몽고 셸에 액세스합니다.
mongo
MongoDB 셸 내부에서 다음 명령을 입력하여 관리 데이터베이스에 연결합니다.
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"
# }
# ]
# }
관리 MongoDB 사용자의 이름을 원하는 대로 지정할 수 있습니다.
다음을 사용하여 몽고 셸을 종료합니다.
quit()
변경 사항을 테스트하려면 이전에 만든 관리 사용자를 사용하여 몽고 셸에 액세스합니다.
mongo -u mongoAdmin -p --authenticationDatabase admin
메시지가 나타나면 암호를 입력합니다.
MongoDB 셸에 들어가면 관리 데이터베이스에 연결합니다.
use admin
# switched to db admin
이제 다음 항목으로 사용자를 출력합니다.
show users
# {
# "_id" : "admin.mongoAdmin",
# "userId" : UUID("cdc81e0f-db58-4ec3-a6b8-829ad0c31f5c"),
# "user" : "mongoAdmin",
# "db" : "admin",
# "roles" : [
# {
# "role" : "userAdminAnyDatabase",
# "db" : "admin"
# }
# ],
# "mechanisms" : [
# "SCRAM-SHA-1",
# "SCRAM-SHA-256"
# ]
# }
버스터 Debian 10에 MongoDB 4.2를 설치하는 방법을 보여드렸습니다. 이 항목에 대한 자세한 내용은 MongoDB 설명서를 참조하십시오.
'SW > 리눅스' 카테고리의 다른 글
Linux : Uname 명령어, 예제, 사용 방법 (0) | 2022.05.14 |
---|---|
Linux : CentOS 8 : MariaDB 설치 방법, 예제, 명령어 (0) | 2022.05.13 |
Linux : CentOS 8 : 스왑 공간 추가 방법, 예제, 명령어 (0) | 2022.05.11 |
Linux : Raspberry Pi : Xrdp 서버 (원격 데스크톱) 설치 방법, 예제, 명령어 (0) | 2022.05.10 |
Linux : Nginx 시작, 중지, 재시작 방법, 예제, 명령어 (0) | 2022.05.09 |