웹사이트 검색

Ubuntu 20.04에서 MongoDB를 설치하고 사용하는 방법


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • Ubuntu 14.04 LTS(Trusty Tahr)

이 페이지에서

  1. 전제 조건
  2. MongoDB 설치
  3. MongoDB 구성
  4. MongoDB 관리자 생성
  5. MongoDB 인증 확인\n
  6. 결론

MongoDB는 C++로 작성된 오픈 소스 및 교차 플랫폼 문서 지향 데이터베이스 시스템입니다. JSON과 유사한 유연한 문서 모음에 데이터를 저장하고 강력한 웹 사이트 및 응용 프로그램을 만드는 데 사용됩니다. 확장성과 고성능으로 인해 강력하고 미션 크리티컬하며 고가용성 데이터베이스가 필요한 최신 애플리케이션을 구축하는 데 사용됩니다.

이 튜토리얼에서는 Ubuntu 20.04 서버에 MongoDB 데이터베이스 시스템을 설치하고 사용하는 방법을 설명합니다.

전제 조건

  • Ubuntu 20.04를 실행하는 서버.\n
  • 서버에 루트 암호가 구성되어 있습니다.\n

몽고DB 설치

기본적으로 최신 버전의 MongoDB는 Ubuntu 20.04 기본 리포지토리에서 사용할 수 없습니다. 따라서 시스템에 공식 MongoDB 리포지토리를 추가해야 합니다.

먼저 다음 명령을 사용하여 Gnupg 패키지를 설치합니다.

apt-get install gnupg -y

그런 다음 다음 명령을 사용하여 MongoDB GPG 키를 다운로드하고 추가합니다.

wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add -

그런 다음 다음 명령을 사용하여 MongoDB 리포지토리를 추가합니다.

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.2.list

그런 다음 리포지토리를 업데이트하고 다음 명령을 사용하여 MongoDB를 설치합니다.

apt-get update -y
apt-get install mongodb-org -y

설치가 완료되면 MongoDB 서비스를 시작하고 다음 명령을 사용하여 재부팅 시 시작되도록 활성화합니다.

systemctl start mongod
systemctl enable mongod

이제 다음 명령을 사용하여 MongoDB 서비스의 상태를 확인할 수 있습니다.

systemctl status mongod

다음과 같은 결과가 표시되어야 합니다.

? mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2020-05-15 05:30:39 UTC; 18s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 106996 (mongod)
     Memory: 76.0M
     CGroup: /system.slice/mongod.service
             ??106996 /usr/bin/mongod --config /etc/mongod.conf

May 15 05:30:39 ubunt4 systemd[1]: Started MongoDB Database Server.
May 15 05:30:48 ubunt4 systemd[1]: /lib/systemd/system/mongod.service:11: PIDFile= references a path below legacy directory /var/run/, upd>
lines 1-11/11 (END)

다음 명령을 사용하여 MongoDB 버전과 서버 주소를 확인할 수도 있습니다.

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

다음과 같은 결과가 표시되어야 합니다.

MongoDB shell version v4.2.6
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("e1575445-f441-4b30-a5d7-4cf68852e68f") }
MongoDB server version: 4.2.6
{
	"authInfo" : {
		"authenticatedUsers" : [ ],
		"authenticatedUserRoles" : [ ]
	},
	"ok" : 1  
}

몽고DB 구성

MongoDB 기본 구성 파일은 /etc/mongod.conf에 있습니다. 기본적으로 각 사용자는 모든 데이터베이스에 액세스하고 모든 작업을 수행합니다. 프로덕션 환경의 경우 MongoDB 인증을 활성화하는 것이 좋습니다.

/etc/mongod.conf 파일을 편집하여 이를 수행할 수 있습니다.

nano /etc/mongod.conf

다음 줄을 추가합니다.

security:
  authorization: enabled

파일을 저장하고 닫은 다음 MongoDB 서비스를 다시 시작하여 변경 사항을 적용합니다.

systemctl restart mongod

MongoDB 관리자 생성

MongoDB 인증을 활성화한 후 MongoDB 데이터베이스에 액세스하고 관리하려면 관리 사용자를 생성해야 합니다.

먼저 다음 명령을 사용하여 MongoDB 콘솔에 액세스합니다.

mongo

다음 출력이 표시되어야 합니다.

MongoDB shell version v4.2.6
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("9ee0ea0c-cf95-4b83-9e88-00dc3a61e0a6") }
MongoDB server version: 4.2.6
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
	http://docs.mongodb.org/
Questions? Try the support group
	http://groups.google.com/group/mongodb-user

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

> use admin

다음 출력이 표시되어야 합니다.

switched to db admin

그런 다음 새 관리 사용자를 만들고 다음 명령을 사용하여 암호를 설정합니다.

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

다음과 같은 결과가 표시되어야 합니다.

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

그런 다음 다음 명령을 사용하여 MongoDB 콘솔을 종료합니다.

> quit()

MongoDB 인증 확인

이 시점에서 MongoDB는 인증으로 구성됩니다.

이제 이전에 생성한 사용자를 사용하여 MongoDB에 연결을 시도합니다.

mongo -u admin -p --authenticationDatabase admin

아래와 같이 비밀번호를 입력하라는 메시지가 표시됩니다.

MongoDB shell version v4.2.6
Enter password: 

관리자 암호를 입력하고 Enter 키를 누릅니다. 다음 출력이 표시되어야 합니다.

connecting to: mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("00d6d1eb-d1c3-41ea-89c7-d46ec6d17bee") }
MongoDB server version: 4.2.6

이제 다음 명령을 사용하여 데이터베이스를 admin으로 변경합니다.

> use admin

다음 출력이 표시되어야 합니다.

switched to db admin

이제 다음 명령을 사용하여 사용자를 나열합니다.

> show users

다음과 같은 결과가 표시되어야 합니다.

{
	"_id" : "admin.admin",
	"userId" : UUID("65907484-9d67-4e6e-bb88-a6666310e963"),
	"user" : "admin",
	"db" : "admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	],
	"mechanisms" : [
		"SCRAM-SHA-1",
		"SCRAM-SHA-256"
	]
}
> 

결론

위 가이드에서는 Ubuntu 20.04 서버에 MongoDB를 설치하고 구성하는 방법을 배웠습니다. 자세한 내용은 Mongo Doc에서 MongoDB 설명서를 참조하세요.