MongoDB 설명서--기본 설치-linux 설치(mongodb 환경 구축)-docker 설치(데이터 볼륨 마운트)-및 자세한 버전 비교

아담:

        이전에 mongodb의 몇 가지 기본 개념을 배웠습니다. 기사의 이 섹션에서는 mongodb 설치를 설명하고 요약합니다.

 문:

MongoDB 설명서--아키텍처 시스템_Yidancheng 블로그-CSDN 블로그

 MongoDB 문서 - 기본 개념 - 단일 Cheng 블로그 - CSDN 블로그

MongoDB 설명서 - 기본 사용 - 클라이언트(dos 창)/시각화 도구에서 MongoDB 기본 문  사용 정규식을 사용하여 찾기

MongoDB를 사용한 MongoDB 문서 고급 use-spring-boot 통합 --- 추가, 삭제, 변경 및 쿼리를 완료하는 MongoRepository_One Single Cheng 블로그-CSDN 블로그

추가, 삭제, 수정 및 쿼리를 완료하기 위한 MongoDB---MongoTemplate을 사용한 MongoDB 문서 고급 사용-스프링 부트 통합_One Single Cheng의 블로그-CSDN 블로그

공식 웹 사이트 자습서는 다음과 같습니다. 

MongoDB 설치 - MongoDB-CN-Manual

 버전 기능

다음은 각 버전의 선택 사항으로, 설치 및 버전 선택 시 참고하시기 바랍니다.

몽고DB 2.x 버전:

이 버전은 SQL의 GROUP BY 및 HAVING 절과 유사한 데이터 집계 작업을 구현하기 위해 데이터 파이프라인의 원칙을 사용하는 MongoDB의 함수인 Aggregation Pipeline 함수를 도입합니다. 또한 2.x 버전에는 Sharded Cluster 및 Pluggable Storage Engine과 같은 중요한 기능이 추가되었습니다.

몽고DB 3.2 버전:

이 버전은 샤드 클러스터를 개선하여 샤드 클러스터를 보다 쉽고 유연하게 구성할 수 있도록 합니다. 또한 버전 3.2에는 부분 인덱스, 문서 유효성 검사 및 집계 파이프라인과 같은 기능도 추가되었습니다.

몽고DB 3.4 버전:

이 버전은 데이터 복제(Replication) 및 오류 복구(Fault Tolerance)가 개선되어 시스템의 안정성과 가용성이 향상되었습니다. 또한 버전 3.4에는 지리 공간 인덱싱, 이진 데이터 및 사용자 정의 함수와 같은 기능이 추가되었습니다.

몽고DB 4.0 버전:

이 버전은 확장성(Scalability), 성능(Performance) 및 안정성(Reliability)에 중점을 둔 MongoDB 4.0을 도입합니다. 다중 문서 트랜잭션, 집계 파이프라인 및 ACID 보장과 같은 새로운 기능을 소개합니다.

몽고DB 4.2 버전:

이 버전은 쿼리 및 집계 측면에서 크게 개선되었으며 텍스트 검색, 지리 공간 쿼리 및 고정 보기와 같은 기능이 추가되었습니다. 동시에 버전 4.2는 집계 파이프라인(Aggregation Pipeline)을 개선하여 더 많은 작업과 연산자를 지원합니다.

 요컨대:
트랜잭션이 필요하지 않습니다.
단순 트랜잭션의 경우 3.4를 선택하는 것이 좋습니다. 분산 트랜잭션 또는 기타 필요한 기능의 경우 4.0을 선택하는 것이 좋습니다 . 학습 목적의 경우
4.2를 선택하는 것이 좋습니다 . 최신 버전을 선택하는 것이 좋습니다.

공식 발표에 따르면 MongoDB 7.0.0-rc10(릴리스 후보) 버전은 주로 다음과 같은 새로운 기능과 개선 사항을 도입합니다.

현재 최신: 

  1. 데이터 가용성과 일관성을 향상시키는 새로운 데이터 복구 도구가 도입되었습니다.
  2. 복제본 세트에 대한 장애 복구가 개선되어 더 빠른 장애 조치 및 데이터 복구를 제공합니다.
  3. 더 많은 작업과 연산자를 지원하도록 집계 파이프라인이 향상되었습니다.
  4. 지리 공간 쿼리를 보다 쉽게 ​​수행할 수 있도록 새로운 지리 공간 쿼리 및 인덱싱 기능이 도입되었습니다.
  5. 향상된 성능 및 확장성으로 더 높은 처리량과 더 나은 내구성을 보장합니다.

또한 일부 알려진 버그와 버그가 수정되어 시스템 안정성과 보안이 향상되었습니다. 전반적으로 MongoDB 7.0.0-rc10에는 데이터 가용성, 일관성 및 성능을 개선하는 데 도움이 되는 많은 새로운 기능과 개선 사항이 도입되었습니다.

이 문서는 두 부분으로 나뉩니다.

        일반 Linux 설치 - mongodb 환경 변수 구성

        도커 설치 - 데이터 볼륨을 외부에 마운트

일반 리눅스 설치

공식 웹페이지(공식 다운로드 URL)

MongoDB 커뮤니티 Kubernetes Operator 설치 | 몽고DB

1. 공식 웹사이트에서 선택한 버전에 해당하는 tgz 패키지를 다운로드합니다.

 

학습 요구 사항 때문에 여기에서 최신 버전을 선택했습니다. 

 패키징 형식은 tgz여야 합니다.

2. Linux 시스템에 파일 업로드

서버 연결 도구를 사용하여 완료하십시오. 저장 경로에 주의하십시오.

 

 3. mongdb 설치 패키지의 압축을 풉니다.

먼저 압축 패키지가 있는 디렉토리를 입력하십시오.

대상 파일의 압축을 풉니다. Linux에서 파일의 압축을 푸는 코드는 다음과 같습니다.

cd /压缩包存在路径
tar -zxvf 目标压缩文件.tgz

압축 해제가 완료되면 mongodb 폴더가 생성됩니다. 이때 이전 압축 패키지를 삭제할 수 있습니다.

 

이 폴더에는 bin과 같은 폴더가 포함되어 있습니다. 

 4. mongodb에 필요한 디렉토리 생성

4/1. /usr/local 디렉토리에 mongodb 폴더 생성

cd /usr/local
mkdir mongodb

mongodb를 저장하는 위치에 따라 폴더를 생성할 위치에 주의하십시오.

4/2. mongodb 아래에 데이터 디렉토리 및 로그 디렉토리와 mongodb.log 로그 파일을 생성합니다.

cd mongodb #进入文件夹
mkdir data
mkdir logs
touch /usr/local/mongodb/logs/mongodb.log

 5. mongodb 설치 디렉토리 이동

압축을 푼 파일의 모든 파일을 손쉬운 관리를 위해 직접 만든 폴더로 이동합니다.

Linux 구문에 대한 참고 사항: /*는 파일을 이동하기 위해 모든 하위 파일에 대해  mv 구문을 사용하는 것

mv mongodb-linux-x86_64-rhel70-7.0.0-rc10/* /usr/local/mongodb

알아채다:

1. 현재 폴더 아래, 즉 기사의 경로에 따라 /usr/local 경로 아래에 있어야 합니다.

2. 다음 경로는 이동할 대상 경로입니다.

6. mongodb의 환경 변수 설정

환경 설정을 하지 않으면 시작할 때마다 많은 시작 파라미터를 작성해야 합니다.

환경 변수의 시작을 구성합니다.

vim /etc/profile

파일에 구성 추가

export MONGODB_HOME=/usr/local/mongodb
export PATH=$MONGODB_HOME/bin:$PATH

구성 파일을 작성할 때 구성 파일의 사양에 주의하고 추가 공백을 두지 말고 환경 변수의 경로에 주의해야 합니다.

알아채다! ! ! ! :

환경 변수를 수정한 후 다시 시작하거나 다음 코드를 사용하여 수정된 구성 파일을 다시 로드해야 합니다.

source /etc/profile

 위의 코드를 사용하면  /etc/profile 파일을 다시 로드하고 터미널을 닫았다가 다시 열지 않고 최신 환경 변수 설정을 적용합니다.

 또는 터미널을 닫았다가 다시 열어 환경을 다시 로드합니다.

7. mongodb 구성 파일 추가

해당 구성 파일을 추가하고 코드를 사용하여 구성 파일을 편집합니다.

vim /etc/mongodb.conf

공통 구성을 추가합니다.

#指定数据库路径
dbpath=/usr/local/mongodb/data
#指定MongoDB日志文件
logpath=/usr/local/mongodb/logs/mongodb.log
# 使用追加的方式写日志
logappend=true
#端口号
port=27017 
#方便外网访问,外网所有ip都可以访问,不要写成固定的linux的ip
bind_ip=0.0.0.0
fork=true # 以守护进程的方式运行MongoDB,创建服务器进程
#auth=true #启用用户验证
#bind_ip=0.0.0.0 #绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定则默认本地所有IP

8. MongoDB 시작 및 종료

mongoDB 폴더에 권한 부여

sudo chmod -R 777 /usr/local/mongodb

빈 디렉토리를 입력하십시오

cd /usr/local/mongodb/bin

MongoDB 시작(-conf는 구성 파일을 사용하여 시작)

mongod -f /etc/mongodb.conf

MongoDB 닫기(-conf는 구성 파일에 의해 닫힘)

mongod --shutdown -f /etc/mongodb.conf

실행 중인지 확인

#查看进程
ps -ef | grep mongod

 시각화 도구를 사용한 연결성 테스트

알아채다! ! ! :

연결하기 전에 온라인 보안 그룹에서 포트 번호를 허용하는지, Linux에서 방화벽 포트 번호가 열려 있는지 확인하십시오.

다음은 방화벽을 해제하기 위한 몇 가지 지침입니다.

在Linux中,关闭防火墙的指令取决于您使用的具体发行版。大多数发行版都使用了防火墙工具,如iptables或firewalld。

以下是几个常见发行版的关闭防火墙指令:

在Ubuntu或Debian上,可以使用以下命令关闭防火墙:
sudo ufw disable
在CentOS或RHEL上,可以使用以下命令关闭防火墙:
sudo systemctl stop firewalld
或者

sudo iptables -P INPUT ACCEPT
sudo iptables -P output ACCEPT
sudo iptables -P forward ACCEPT
sudo iptables -t nat -P PREROUTING ACCEPT
sudo iptables -t nat -P POSTrouting ACCEPT
sudo iptables -t mangle -P PREROUTING ACCEPT
sudo iptables -t mangle -P POSTrouting ACCEPT
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT DROP
sudo iptables -t nat -P PRERouting DROP
sudo iptables -t nat -P postrouting DROP
sudo iptables -t mangle -P PREROUTING DROP
sudo iptables -t mangle -P POSTrouting DROP
这些命令将关闭iptables防火墙,但是请注意,这些命令可能会对系统造成安全风险

 Docker는 mongodb를 설치하고 데이터 볼륨을 마운트합니다. 예를 들어 버전은 4.2입니다.

1. mongodb4.2 버전 이미지 풀기

docker pull mongo:4.2

  

2. 몽고 이미지가 있는지 확인

docker images

3. 디렉토리 및 구성 파일 생성

디렉터리를 만듭니다.

mkdir -p /root/mongo/data
mkdir -p /root/mongo/conf
mkdir -p /root/mongo/log

파일 만들기:

cd /root/mongo/conf
vim mongodb.conf
#端口
port=27017
#数据库文件存放目录
dbpath=/root/mongo/data
#日志文件存放路径
logpath=/root/mongo/log
#使用追加方式写日志
logappend=true
#以守护线程的方式运行,创建服务器进程
fork=true
#最大同时连接数
maxConns=100
#不启用验证
#noauth=true
#每次写入会记录一条操作日志
journal=true
#存储引擎有mmapv1、wiredTiger、mongorocks
storageEngine=wiredTiger
#访问IP
bind_ip=0.0.0.0
#用户验证
#auth=true

위의 경로와 연결 구성 경로는 사용자 정의할 수 있으며 구성은 필요에 따라 배열되었습니다.

4. 데이터 볼륨을 마운트하기 위해 mongo 컨테이너(외부 마운트 구성 파일 및 데이터)를 실행합니다.

docker run -d \
--name mongodb  \
-p 27017:27017 \
-v /root/mongo/data:/data/db \
-v /root/mongo/conf:/data/conf \
-v /root/mongo/log:/data/log \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=123456 \
--privileged=true \
--restart always \
mongo:4.2

이 코드는 Docker에서 "mongodb"라는 컨테이너를 실행하고 로컬 호스트의 포트 27017에 매핑하는 데 사용됩니다. 컨테이너의 데이터, 구성 및 로그 디렉터리는 로컬 /root/mongo/data, /data/conf 및 /data/log 디렉터리에 할당됩니다.

동시에 컨테이너는 각각 "admin" 및 "123456"으로 설정되는 MONGO_INITDB_ROOT_USERNAME 및 MONGO_INITDB_ROOT_password라는 두 가지 환경 변수도 설정합니다. 이러한 환경 변수는 MongoDB의 초기 데이터베이스 설정을 위해 컨테이너 내부에서 사용할 수 있습니다.

또한 컨테이너는 권한 모드(--privileged=true)를 사용하여 컨테이너가 더 많은 시스템 권한을 가질 수 있도록 합니다. 마지막으로 --restart always 옵션이 사용됩니다. 이는 컨테이너가 종료 후 항상 자동으로 다시 시작됨을 의미합니다.

요약하면 이 코드의 기능은 Docker에서 "mongodb"라는 MongoDB 컨테이너를 실행하고 이를 로컬 호스트의 포트 27017에 매핑하고 컨테이너의 데이터, 구성 및 로그 디렉터리를 로컬 /root에 매핑하는 것입니다. /mongo/data, /data/conf 및 /data/log 디렉토리를 만들고 MongoDB의 초기 데이터베이스 사용자 이름과 암호를 설정합니다. 컨테이너는 권한 모드를 사용하며 항상 자동으로 다시 시작됩니다.

참고: 사용자 및 암호 행은 필요하지 않습니다. 이거 없이 어떻게 이럴 수가

-e MONGO_INITDB_ROOT_USERNAME=관리자 \
-e MONGO_INITDB_ROOT_PASSWORD=123456 \

이 두 줄의 코드를 삭제하십시오.

5. 정상적으로 동작하는지 확인 

docker ps -a

6. 시각화 도구를 사용하여 연결 시도 - 계정 비밀번호 사용

계정 암호 연결 방법을 사용하십시오.

 아래에 사용자 이름과 비밀번호를 입력하세요.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_72186894/article/details/132054891
conseillé
Classement