MongoDB는 자유로운 오픈 소스 문서 데이터베이스입니다. MySQL이나 PostgreSQL과 같은 기존의 테이블 기반 SQL 데이터베이스와는 다른 NoSQL 데이터베이스 계열에 속합니다. MongoDB의 데이터는 유연한 JSON 형태의 문서에 저장되며, 문서마다 필드가 다를 수 있습니다. 미리 정의된 스키마가 필요하지 않으며, 시간이 지남에 따라 데이터 구조를 변경할 수 있습니다.
MongoDB의 몇 가지 주요 기능은 복제, 인덱싱, 사용자 정의 검색, 로드 밸런싱, 자바스크립트 실행입니다.
설치 단계를 따르려면 Ubuntu 22.04 또는 20.04 인스턴스에서 sudo 권한을 가진 루트 또는 사용자로서 명령을 실행해야 합니다.
일반적으로 표준 우분투 저장소에는 오래된 MongoDB 버전이 포함되어 있습니다. 우리는 공식 MongoDB 패키지를 설치할 것입니다. 우분투에 MongoDB를 설치하는 것은 꽤 간단합니다. 우리는 MongoDB 저장소를 활성화하고 저장소 GPG 키를 가져온 다음 MongoDB 패키지를 설치할 것입니다.
첫 번째 단계는 새 리포지토리를 추가하는 데 필요한 종속성을 설치하는 것입니다. 대부분의 경우 시스템에 해당 패키지가 이미 설치되어 있지만 일부 패키지가 누락되었을 수 있습니다:
sudo apt update
sudo apt install gnupg wget apt-transport-https ca-certificates software-properties-common
다음으로 MongoDB 리포지토리의 GPG 키를 시스템으로 가져옵니다:
wget -qO- \
https://pgp.mongodb.com/server-7.0.asc | \
gpg --dearmor | \
sudo tee /usr/share/keyrings/mongodb-server-7.0.gpg >/dev/null
다음 파일을 생성하여 MongoDB 리포지토리를 추가합니다:
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] \
https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/7.0 multiverse" | \
sudo tee -a /etc/apt/sources.list.d/mongodb-org-7.0.list
위 명령어의 $(lsb_release -cs) 부분은 우분투 코드명을 인쇄합니다. 예를 들어 우분투 버전 22.04가 있으면 명령어가 jammy를 인쇄합니다.
리포지토리가 사용되도록 설정되면 로컬 패키지 인덱스를 업데이트합니다:
sudo apt update
이제 다음을 입력하여 MongoDB를 설치할 수 있습니다:
sudo apt install mongodb-org
mongodb-org는 다음 패키지를 포함하는 메타 패키지입니다:
mongodb-org-server – mongod 데몬 및 해당 init 스크립트 및 구성.
mongodb-org-mongos – the mongos daemon.
mongodb-org-shell – mongoDB에 대한 대화형 자바스크립트 인터페이스인 mongo shell. 명령줄로 생각되는 관리 작업을 수행하는 데 사용됩니다.
mongodb-org-tools – 데이터, 통계 및 기타 유틸리티를 가져오고 내보낼 수 있는 여러 MongoDB 도구가 들어 있습니다.
기본적으로 MongoDB 데몬은 설치 후 시작되지 않습니다. 서비스를 시작하고 부팅 시 활성화하려면 다음을 실행합니다:
sudo systemctl enable --now mongod
Mongosh shell tool을 사용하여 MongoDB 데이터베이스 서버에 연결하고 연결 상태를 출력하면 설치가 성공했는지 확인할 수 있습니다:
mongosh --eval 'db.runCommand({ connectionStatus: 1 })'
출력은 다음과 같습니다:
Current Mongosh Log ID: 655a70dfea9d876644ee6607
Connecting to: mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.0.2
Using MongoDB: 7.0.3
Using Mongosh: 2.0.2
{
authInfo: { authenticatedUsers: [], authenticatedUserRoles: [] },
ok: 1
}
명령어는 연결 상태와 인증된 사용자 및 사용 권한에 대한 정보를 반환합니다. 확인 필드의 값이 1이면 성공을 나타냅니다.
MongoDB 구성확인
MongoDB 구성 파일은 /etc 디렉토리에 있으며 mongod.conf라는 이름을 가지고 있습니다. 파일은 YAML 형식을 사용합니다.
기본 구성 설정은 대부분의 경우에 충분합니다. 그러나 운영 환경의 경우 다음과 같이 보안 섹션의 보완을 해제하고 액세스 제어를 사용하는 것이 좋습니다:
sudo nano /etc/mongod.conf
# /etc/mongod.conf
# security:
# authorization: enabled
권한 부여 옵션은 데이터베이스 리소스 및 작업에 대한 사용자의 액세스를 규제하는 역할 기반 액세스 제어(RBAC)를 활성화합니다. 이 옵션을 활성화하지 않으면 각 사용자는 모든 데이터베이스에 액세스할 수 있으며 모든 작업을 수행합니다.
구성을 변경할 때마다 변경 내용을 적용하려면 mongod 서비스를 다시 시작해야 합니다:
sudo systemctl restart mongod
최신 MongoDB 버전에서 자세한 내용은 설명서 페이지를 참조바랍니다.
“ubntu Jammy 22.0.4에 MongoDB 설치”의 한가지 생각