Rocky Linux 9 - MongoDB 설치

안녕하세요. Rocky Linux 9에 MongoDB를 설치를 해보겠습니다. 현재 MongoDB는 6.0 기준으로 설치합니다.

 

MongoDB 저장소 등록

$ sudo vi /etc/yum.repos.d/mongodb-org-6.0.repo

mongodb-org-6.0.repo

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

 

MongoDB 저장소 등록 확인

$ sudo dnf repolist

 

MongoDB 서버 및 Mongosh 설치

$ sudo dnf install mongodb-org mongodb-mongosh

 

MongoDB 서비스 등록 및 시작

$ sudo systemctl enable mongod
$ sudo systemctl start mongod

 

MongoDB 서비스 상태 확인

$ sudo systemctl status mongod

 

THP 설정

sudo vi /etc/systemd/system/disable-thp.service

disable-thp.service

[Unit]
Description=Disable Transparent Huge Pages (THP)

[Service]
Type=simple
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"

[Install]
WantedBy=multi-user.target

 

THP 서비스 등록 및 실행

$ sudo systemctl daemon-reload

$ sudo systemctl enable disable-thp

$ sudo systemctl start disable-thp

 

unlimit 변경

$ sudo vi /etc/security/limits.d/mongodb.conf

mongodb.conf

mongod soft nproc 64000
mongod hard nproc 64000
mongod soft nofile 64000
mongod hard nofile 64000

 

MongoDB 가상 메모리  수정

MongoDB 서버 최대 가상 메모리를 늘릴 수 있습니다.

$ sudo vi /etc/sysctl.conf

sysctl.conf : 추가

fs.file-max = 2097152
vm.max_map_count = 262144
vm.swappiness = 1

 

서버 재부팅

$ sudo reboot

 

MongoDB 관리자 설정

$ mongosh

 

MongoDB 모니터링 비활성

db.disableFreeMonitoring()

 

MongoDB 관리자 전환

$ use admin

 

MongoDB 관리자 생성

'mongouser' 라는 유저를 생성합니다. 원하시는 이름으로 변경하시면 됩니다. 아래 쿼리를 실행하시면 생성할 비밀버호를 묻습니다.

db.createUser(
  {
    user: "mongouser",
    pwd: passwordPrompt(),
    roles: [
      { role: "userAdminAnyDatabase", db: "admin" },
      { role: "readWriteAnyDatabase", db: "admin" }
    ]
  }
)

 

MongoDB 인증 및 권한 부여

MongoDB 인증 및 권한 부여를 활성화 합니다. 아래 내용에서 주석을 제거합니다.

$ sudo vi /etc/mongod.conf

mongod.conf

// 수정전
#security:

// 수정후
security:
  authorization: enabled

 

MongoDB 재시작

sudo systemctl restart mongod

 

MongoDB 셸 로그인

$ mongosh

 

MongoDB 관리자 로그인

$ use admin

$ db.auth("mongouser", passwordPrompt())

 

MongoDB 관리자로 서버 접속

$ mongosh --port 27017 --authenticationDatabase "admin" -u "mongouser" -p

 

다음 글에서는 MongoDB 에서 사용자 생성 및 데이터베이스 생성을 해보도록 하겠습니다.

 

 

타이니러브 프리미엄 클래식 포레스트 모빌 + 홀더 + 흑백모빌, 혼합 색상

이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.