Ubuntu 20.04에서 MongoDB를 설치하고 사용하는 방법
이 튜토리얼은 다음 OS 버전에 대해 존재합니다.
- Ubuntu 14.04 LTS(Trusty Tahr)
이 페이지에서
- 전제 조건
- MongoDB 설치
- MongoDB 구성
- MongoDB 관리자 생성
- MongoDB 인증 확인\n
- 결론
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 설명서를 참조하세요.