웹사이트 검색

Ubuntu 16.04 LTS에서 MongoDB를 설치 및 구성하는 방법


MongoDB는 고성능, 고가용성 및 자동 확장 엔터프라이즈 데이터베이스를 제공하는 NoSQL 데이터베이스입니다. MongoDB는 NoSQL 데이터베이스이므로 SQL(Structured Query Language)을 사용하여 데이터를 삽입하고 검색할 수 없으며 MySQL 또는 Postgres와 같은 테이블에 데이터를 저장하지 않습니다. 데이터는 JSON 형식의 \문서\ 구조로 저장됩니다(MongoDB에서는 BSON이라고 함). MongoDB는 2009년에 처음 소개되었으며 현재 MongoDB Inc.에서 개발하고 있습니다.

\MongoDB는 64비트 LTS(장기 지원) Ubuntu 릴리스용 패키지만 제공합니다. 예를 들어 12.04 LTS(정밀), 14.04 LTS(신뢰), 16.04 LTS(xenial) 등입니다.\ mongodb 사이트.

전제 조건

  • Ubuntu 서버 16.04 - 64비트
  • 루트 권한

이 튜토리얼에서 수행할 작업:

  1. MongoDB 설치
  2. MongoDB 구성
  3. 결론

Ubuntu 16.04에 MongoDB 설치

1단계 - 공개 키 가져오기

소프트웨어 배포자의 GPG 키는 패키지 일관성과 신뢰성을 보장하기 위해 Ubuntu 패키지 관리자 apt(Advanced Package Tool)에 필요합니다. 이 명령을 실행하여 MongoDB 키를 서버로 가져옵니다.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

2단계 - 소스 목록 파일 MongoDB 생성

다음 명령어를 사용하여 /etc/apt/sources.list.d/에 MongoDB 목록 파일을 만듭니다.

echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

3단계 - 리포지토리 업데이트

apt 명령으로 저장소를 업데이트하십시오.

sudo apt-get update

4단계 - MongoDB 설치

이제 다음 명령을 입력하여 MongoDB를 설치할 수 있습니다.

sudo apt-get install -y mongodb-org

/lib/systemd/system 디렉터리에 새로운 MongoDB 시스템 서비스 파일을 생성해야 합니다. 해당 디렉터리로 이동하고 vim 편집기를 사용하여 새 MongoDB 서비스 파일 mongod.service를 만듭니다.

cd /lib/systemd/system/
vim mongod.service

아래에 스크립트 붙여넣기:

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual

[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

파일을 저장하고 종료합니다.

이제 아래 명령으로 systemd 서비스를 업데이트하십시오.

systemctl daemon-reload

MongoDB를 시작하고 부팅 시 시작될 서비스로 추가합니다.

systemctl start mongod
systemctl enable mongod

이제 netstat 명령을 사용하여 포트 27017에서 MongoDB가 시작되었는지 확인합니다.

netstat -plntu

MongoDB 사용자 이름 및 비밀번호 구성

MongoDB 패키지가 설치되면 데이터베이스 서버의 사용자 이름과 암호를 구성할 수 있습니다.

1단계 - 몽고 쉘 열기

MongoDB의 사용자 이름과 비밀번호를 설정하기 전에 서버에서 MongoDB 셸을 열어야 합니다. 다음을 입력하여 로그인할 수 있습니다.

mongo

Failed global initialization: BadValue Invalid or no user locale set 오류가 발생하는 경우. LANG 및/또는 LC_* 환경 변수가 올바르게 설정되었는지 확인하고 다음 명령을 시도하십시오.

export LC_ALL=C
mongo

2단계 - 데이터베이스 관리자로 전환

MongoDB 셸에 있으면 admin이라는 데이터베이스로 전환합니다.

use admin

3단계 - 루트 사용자 생성

다음 명령을 사용하여 루트 사용자를 만듭니다.

db.createUser({user:"admin", pwd:"admin123", roles:[{role:"root", db:"admin"}]})

설명: 비밀번호 admin123으로 사용자 admin을 생성하고 권한/역할을 루트로 가지며 데이터베이스는 admin입니다.

이제 exit를 입력하여 MongoDB 셸을 종료합니다.

4단계 - mongodb 인증 활성화

편집기로 mongodb 서비스 파일 /lib/systemd/system/mongod.service를 수정합니다.

vim /lib/systemd/system/mongod.service

ExecStart 라인 9에서 새 옵션 --auth를 추가합니다.

ExecStart=/usr/bin/mongod --quiet --auth --config /etc/mongod.conf

서비스 파일을 저장하고 vim을 종료합니다.

systemd 서비스를 다시 로드합니다.

systemd daemon-reload

5단계 - MongoDB를 다시 시작하고 연결을 시도합니다.

이제 MongoDB를 다시 시작하고 생성된 사용자와 연결합니다.

sudo service mongod restart

다음 명령을 사용하여 MongoDB 셸에 연결합니다.

mongo -u admin -p admin123 --authenticationDatabase admin

다음과 같은 출력이 표시됩니다.

결론

고성능, 고가용성 및 자동 확장을 제공하는 잘 알려진 NoSQL 데이터베이스는 MongoDB입니다. SQL을 사용하여 데이터를 설정하고 검색하지 않는다는 점에서 MySQL, PostgreSQL, SQLite와 같은 RDBMS와 다릅니다. MongoDB는 BSON(추가 유형의 정보가 포함된 JSON의 이진 표현)이라는 \documents\에 데이터를 저장합니다. MongoDB는 64비트 장기 지원 Ubuntu 릴리스에서만 사용할 수 있습니다.