Ubuntu 20.04에 MongoDB를 설치하는 방법

Ubuntu 시스템에서 MongoDB 설치 및 관리에 대해 알아야 할 모든 것

MongoDB는 웹 애플리케이션 관리에 사용되는 NoSQL, 오픈 소스, 문서 지향 데이터베이스입니다. 기존 테이블 기반 데이터베이스와 같이 미리 정의된 스키마가 필요하지 않은 JSON 형식 문서에 데이터를 동적으로 저장합니다.

이 기사에서는 Ubuntu 20.04 LTS 시스템에 MongoDB를 설치하고 구성하는 방법을 살펴보겠습니다.

전제 조건

시작하기 전에 sudo 사용 가능 사용자로 로그인하고 아래 표시된 명령을 실행하여 서버의 패키지를 업데이트 및 업그레이드하십시오.

sudo apt 업데이트 && sudo apt 업그레이드

Ubuntu 20.04에 MongoDB 설치

Ubuntu 시스템에 MongoDB를 설치하는 방법에는 두 가지가 있습니다. 먼저 이전 버전인 MongoDB 3.6이 포함된 기본 Ubuntu 리포지토리에서. 둘째, MongoDB의 전용 패키지 저장소(최신 버전의 MongoDB 4.4 포함)를 적절한 시스템의 리소스.

MongoDB Inc는 Ubuntu 리포지토리에서 mongoDB 패키지를 지원하지 않습니다. 와도 다르다. mongodb-org 패키지. 따라서 MongoDB의 전용 패키지 저장소를 추가하여 MongoDB를 설치하는 것을 권장합니다. 적절한 자원.

공식 저장소를 추가하여 MongoDB 설치

먼저 최신 버전의 MongoDB의 공개 GPG 키를 가져옵니다. 적절한 키를 찾으려면 이 URL을 방문하여 서버-x.x.asc 현재 최신 버전의 MongoDB에 해당하는 파일입니다.

이 기사를 작성하는 시점에서 MongoDB의 최신 버전은 4.4. 따라서 이를 선택하고 아래 명령을 사용하여 버전 4.4의 GPG 키를 가져옵니다.

wget -qO - //www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key 추가 -

성공적으로 실행되면 명령은 다음과 같이 출력을 제공합니다. 확인.

우리는 필요하기 때문에 mongodb-org 최신 버전의 MongoDB를 설치하려면 아래 명령을 사용하여 공식 MongoDB 저장소를 시스템에 추가하십시오.

echo "deb [ arch=amd64,arm64 ] //repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 멀티버스" | sudo 티 /etc/apt/sources.list.d/mongodb-org-4.4.list

이제 로컬 패키지 데이터베이스를 업데이트하고 설치하십시오. mongodb-org 아래 명령을 하나씩 실행하여 패키지를 만듭니다.

sudo apt-get 업데이트 -y sudo apt-get 설치 mongodb-org -y

MongoDB가 설치되면 시작하고 활성화하십시오. 몽고 아래 명령을 사용하여 시스템에서 서비스를 제공합니다.

systemctl mongod 시작 systemctl mongod 활성화

MongoDB가 시스템에서 실행 중인지 확인하려면 아래 명령을 사용하십시오. 상태를 활성으로 출력해야 합니다.

systemctl 상태 몽고
mongod.service - MongoDB 데이터베이스 서버 로드: 로드됨(/lib/systemd/system/mongod.service; 활성화됨, 공급업체 p> 활성: 2020-08-18 09:01:48 UTC 화요일부터 활성(실행 중), 45초 전 문서 : //docs.mongodb.org/manual 메인 PID: 13739 (mongod) 메모리: 79.1M C그룹: /system.slice/mongod.service └─13739 /usr/bin/mongod --config /etc/mongod.conf 

다음 명령을 사용하여 연결 상태, 현재 버전, 서버 주소 및 포트를 확인할 수도 있습니다.

mongo --eval 'db.runCommand({ 연결 상태: 1 })'

연결 상태가 표시되는 경우 확인 : 1, 그러면 아래 출력과 같이 서버가 적절하게 작동하고 있음을 의미합니다.

MongoDB 셸 버전 v4.2.8 연결: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb 암시적 세션: session { "id": UUID("6ba987a2-30fc-4d84-8665-57f28b1bb) 서버 버전: 4.2.8 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }

MongoDB의 기본 포트 번호는 27017, 실행 127.0.0.1, 이는 localhost의 루프백 주소입니다.

몽고DB 구성

기본 구성 설정이 요구 사항을 충족하기에 충분하므로 MongoDB 구성은 선택 사항이지만 프로덕션 환경의 경우 권한 부여를 활성화하는 것이 좋습니다.

MongoDB의 구성 파일은 /등 예배 규칙서. 편집하려면 터미널에 다음 명령을 입력하십시오.

나노 /etc/mongod.conf

이제 파일 맨 아래로 이동하여 보안 옵션의 주석을 제거하십시오. # 기호 및 유형 권한 부여: 활성화됨 아래 그림과 같이.

보안: 권한 부여: 활성화됨

변경 사항을 적용하려면 다음 명령으로 MongoDB를 다시 시작합니다.

systemctl 다시 시작 mongod

MongoDB 구성에 대해 자세히 알아보려면 이 설명서 페이지를 방문하십시오.

MongoDB 관리자 생성 및 확인

이제 MongoDB 데이터베이스에 액세스할 수 있는 관리자 사용자를 만듭니다.

MongoDB 관리자 생성

MongoDB 셸에 액세스하려면 다음을 사용하십시오. 몽고 명령.

몽고

그런 다음 다음 명령을 사용하여 MongoDB 관리 데이터베이스에 액세스합니다.

관리자를 사용

이제 다음 명령을 사용하여 역할을 가진 새 사용자와 암호를 만듭니다. userAdminAny데이터베이스.

db.createUser( { 사용자: "UserName", pwd: "PasswordOfYourChoice", 역할: [{ 역할:"userAdminAnyDatabase",db:"admin"}] } )

메모: 사용자 값을 바꿉니다(사용자 이름) 및 비밀번호(비밀번호 선택) 당신의 선택에.

MongoDB 사용자를 성공적으로 생성한 후 다음을 입력합니다. 그만두 다() 쉘을 종료합니다.

그만두 다()

관리자 인증 확인

인증 확인을 위해 아래 명령어로 admin 계정에 접속합니다.

mongo -u 사용자 이름 -p --authenticationDatabase 관리자

쉘은 암호를 입력하라는 메시지를 표시합니다. 위의 지침에서 사용자에 대해 선택한 비밀번호를 입력하고 시작하다.

그런 다음 다음 명령을 사용하여 admin 데이터베이스에 액세스합니다.

관리자를 사용

이제 발급 사용자를 표시 인증된 모든 사용자의 세부 정보를 가져오려면 셸에서 명령을 실행합니다.

사용자를 표시
{ "_id": "admin.UserName", "userId": UUID("d5e186d7-0520-41a5-8f42-da3b7b8e8868"), "user": "UserName", "db": "admin", "roles": [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ], "메커니즘" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] }

위의 단계에서 생성한 UserName이 출력에 표시되어야 합니다.

몽고DB 관리

mongod 프로세스를 관리하기 위해 내장된 초기화 우분투 시스템. 16.04 Xenial 사용의 Ubuntu 버전 시스템 사용하는 MongoDB를 관리하기 위해 시스템 컨트롤 명령.

몽고 서비스 중지

중지하려면 몽고 처리하려면 다음 명령을 사용하십시오.

sudo systemctl stop mongod

몽고 서비스 시작

시작하려면 몽고 처리하려면 다음 명령을 사용하십시오.

sudo systemctl 시작 mongod

몽고 다시 시작

다시 시작하려면 몽고 처리하려면 다음 명령을 사용하십시오.

sudo systemctl 다시 시작 mongod

Ubuntu 20.04 시스템에 최신 버전의 MongoDB를 성공적으로 설치했습니다. MongoDB에 대한 자세한 내용은 이 설명서를 참조하십시오.