다음에서 퍼옴

phoenixnap.com/kb/install-mongodb-on-centos-8

 

How to Install MongoDB on CentOS 8 {3 Easy Steps}

Install MongoDB database application on CentOS 8. Follow the MongoDB installation & configure, create user, and set up authentication with this tutorial.

phoenixnap.com

소개

MongoDB는 문서 기반 NoSQL 데이터베이스 애플리케이션입니다. MySQL과 달리 데이터를 다른 문서에 다르게 저장할 수 있습니다.

다른 문서의 다른 필드를 허용하며 데이터 구조는 영구적으로 고정되지 않습니다.

이 자습서에서는 CentOS 8에 MongoDB를 설치하는 방법을 알아 봅니다.

 

Prerequisites

  • A system running 64-bit CentOS 8 Linux
  • User account with sudo or root privileges
  • Access to a terminal window/command line

 

CentOS 8에서 MongoDB 설치 

 

Step 1: MongoDB 소프트웨어 리포지토리 추가

기본적으로 MongoDB는 공식 CentOS 리포지토리에서 사용할 수 없습니다. MongoDB 리포지토리를 추가하려면 터미널 창을 열고 MongoDB 리포지토리 구성 파일을 만듭니다.

 

[root@localhost ~]# gedit    /etc/yum.repos.d/mongodb-org-4.2.repo

 

mongodb-org-4.2.repo 파일에 다음을 입력

[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

 

- cat 명령어로 제대로 입력되었는지 확인

[root@localhost ~]# cat    /etc/yum.repos.d/mongodb-org-4.2.repo

 

 

Step 2: Install MongoDB Software

- CentOS8에 MongoDB를 설치

[root@localhost ~]# dnf   -y    install    mongodb-org

 

Step 3: MongoDB Service 시작

- 다음 명령을 입력하여 MongoDB 서비스를 시작

[root@localhost ~]# systemctl   start   mongod

 - 장치를 찾을 수 없다는 오류가 발생하면 다음 명령을 실행 한 후 이전 명령을 다시 시도

[root@localhost ~]# systemctl    daemon-reload

 - MongoDB를 영구적으로 사용하는 경우 다음 명령을 사용하여 부팅시 실행되도록 설정

[root@localhost ~]# systemctl   enable    mongod

 - MongoDB 서비스가 status 명령으로 사용하여 실행 중인지 확인

[root@localhost ~]# systemctl   status   mongod

 

 

MongoDB 설정(Set Up) 및 구성(Configure) 

MongoDB 관리자(Admin User) 생성

 

 - 사용을 위해 Mongo 셸을 열어 시작합니다. 다음 명령을 입력

[root@localhost ~]#  mongo

 

>

 - 관리자 계정으로 전환

>  use   admin

 

- Mongo 데이터베이스에 대한 관리자 사용자 계정을 만듭니다.

use admin # admin 데이터베이스 선택
 
db.createUser({
  user: "mdbadmin",  # 계정 이름
  pwd: "password",  # 비밀번호
  roles: [          # 사용자에게 주어진 권한 목록. 여러 데이터베이스에 대한 권한을 할당할 수 있다.
    {
      role: "userAdminAnyDatabase", # built-in 권한인 root. 문자 그대로 모든 데이터베이스를 관리할 수 있다.
      db: "admin"   # 어떤 데이터베이스에 대한 권한인지 명시
    }
  ]}
)

 

 

 - 시스템응답은 다음과 같습니다.

 

- 관리자가 아닌 사용자를 생성해서 실제 작업에 사용

db.createUser({
  user: "rhostem",
  pwd: "password",
  roles: [
    {
      role: "readWrite", # 읽기, 쓰기 권한
      db: "test"         # 위의 권한을 부여할 데이터베이스로 test를 지정
    }
  ]}
)

 

 

 -  사용자 목록 표시

> show   users 

 - 시스템은 방금 만든 사용자 이름에 대한 세부 정보를 표시해야합니다.

 - Mongo shell 종료

> quit()
[root@localhost ~]#

 

 

MongoDB 인증 Configure

기본적으로 모든 사용자는 MongoDB에서 모든 기능을 수행 할 수 있습니다. 사용자가 작업을 수행하려면 적절한 자격 증명이 있어야합니다.

 

 

Step 1: 인증(Turn on Authentication) 

 

 

- /lib/systemd/system/mongod.service 파일 편집 

[root@localhost ~]# gedit     /lib/systemd/system/mongod.service

 

- 다음 내용을 찾을 것

Environment="OPTIONS=-f /etc/mongod.conf"

 

 - --auth 를 추가

Environment="OPTIONS= --auth -f /etc/mongod.conf"

 

 

Step 2: 서비스 다시로드하여 변경사항 적용

 - Reload the mongod.service:

[root@localhost ~]# systemctl      --system    daemon-reload
[root@localhost ~]# systemctl   restart   mongod

 

Step 3: Mongo 사용자 인증 테스트

 - Mongo Shell로 전환 -> 관리자를 사용하여 모든 사용자 나열

 

[root@localhost ~]# mongo

 

>  use    admin
> show    users

  - 오류 메시지가 표시됨 

  - 자격증명으로 인증 : 결과는 1이 나와야함

> db.auth  (  'mdbadmin'  ,   'password'  )
1

 

Now, try running the show users command again:

> show   users

 

mdbadmin password가 실제 사용할 사용자 이름과 암호로 변경되어있는지 확인하세요

결론

이제 CentOS 8 시스템에 MongoDB가 설치되어 있어야합니다. 또한 무단 액세스를 방지하려면 보안 관리자 계정이 있어야합니다.

 

TCP 포트 개방

 - MongoDB는 기본적으로 27107번 포트를 사용

 - 외부에서 접속할 수 있도록 방화벽 설정을 통해 27017번 포트를 개방해야 함

 

 - 방화벽 설정

- mongodb를 찾아 체크

 

- 적용하기

- 설정파일 수정 

[root@localhost ~]# vi    /etc/mongod.conf

 - set number로  line number 표시

 - 29번 라인의 bindIp앞에 #으로 주석처리

 

bindIp=127.0.0.1       ->     bindIp=0.0.0.0

## 디비 관리 계정추가
useradd mongod
passwd mongod
## mongo 폴더 권한 설정
mkdir /var/lib/mongo/data
chown -R mongod:mongod /var/lib/mongo/
chgrp -R mongod /var/lib/mongo/
## 서비스 시작
service mongod start
## mongod 시스템 시작시 자동실행
chkconfig mongod on

– 설정파일 : /etc/mongod.conf
– 데이터 저장 폴더 : /var/lib/mongo
– 로그 저장 폴더 : /var/log/mongodb

 

 

docs.mongodb.com/v4.2/

 

The MongoDB 4.2 Manual — MongoDB Manual

The MongoDB 4.2 Manual Welcome to the MongoDB 4.2 Manual! MongoDB is a document database designed for ease of development and scaling. The Manual introduces key concepts in MongoDB, presents the query language, and provides operational and administrative c

docs.mongodb.com

Connect to mongodb

- 생성한 아이디로 로그인해본다( id :mdbadmin   password:password  내가만든db명 : admin

[root@localhost ~]#  mongo  -umdbadmin   -ppassword   admin

- 일반적인 접속방법

mongo --port <포트> -u "<사용자 계정>" -p "<비밀번호>" --authenticationDatabase "admin"

<client> 위의 과정 설치까지 진행 

 

mongo -u mdbadmin -p password  192.168.111.100/admin 

 

 


<WinClient> 2, 3번 권장 

 

1) 외부에서 접속하기 전 다시 원상복귀 해주기 

Environment="OPTIONS=-f /etc/mongod.conf"

 

www.mongodb.org/dl/win32/i386

☞ mongodb-win32-i386-2.6.5-signed 설치함 

 

☞ 설치폴더로 가서, mongo --host 192.168.111.100

 

 

2)

https://www.mongodbmanager.com/ (Windows 32bit에서 사용가능한 프로그램)

 

NoSQL Manager Group

NoSQL Manager for MongoDB - desktop tool for Mongo database management, administration and development.

www.mongodbmanager.com

 

Download- NoSQL Manager for MongoDB Freeware 설치 

 

Host에 서버 ip주소넣기 

 

 

 

3) 1번 해결 

 

supdev.tistory.com/24

 

Window 32bit MongoDB 설치하기

1. MongoDB 다운로드 Linux와 Mac 운영체제와는 다르게 설치파일을 다운로드받아 설치합니다. MongoDB 다운로드 링크 https://www.mongodb.com/download-center 64bit의 경우 바로 DOWNLOAD 버튼을 클릭하여 최..

supdev.tistory.com

Server 3.4버전 (위의 과정 숫자만 3.4로 해서)

WinClient 3.2 받고 나서 

WinClient 설치파일

 

WinClient에서 설치 후 

 

- 고급 시스템 설정-환경 변수- (윗 칸) Path 편집- 새로만들기

 - 다운받은 위치 추가(C:\Program Files\MongoDB\Server\3.2\bin)- 확인 

 

-cmd 창 켜서 

mkdir C:\data\db
mongod -- dbpath C:\data\db
mongod --storageEngine=mmapv1

 

 

cmd창에 mongo를 친 후 

mongo

mkdir C:\datamkdi

r C:\data

cmd창 하나 더 열어서 

mongo 192.168.111.100/admin -u mdbadmin -p password

접속 

 

그 이후로는 cmd창 하나에 바로 접속 가능 

 

mongo 192.168.111.100/admin -u mdbadmin -p password

 

'Linux' 카테고리의 다른 글

MongoDB on CentOS8  (0) 2020.10.08
리눅스 정리  (0) 2020.10.08
mc  (0) 2020.10.08
FTP 서버 설치와 운영  (0) 2020.10.07
CentOS8 + MongoDB  (0) 2020.10.07

+ Recent posts