輕鬆掌握元件啟動之MongoDB:快速入門、Linux安裝和Docker設定指南

2023-10-15 06:01:11

引言

我們將繼續深入研究元件啟動專題。在之前的文章中,我們已經詳細介紹了Redis的各種設定使用方法,為讀者提供了全面的指導。然而,今天我們將轉向另一個備受關注的資料庫——MongoDB。MongoDB是一種流行的NoSQL資料庫,具有強大的靈活性和可延伸性。在這篇文章中,我們將探索MongoDB的安裝和使用過程,幫助讀者快速上手這個強大的資料庫。

MongoDB快速開始

linux安裝MongoDB

在準備安裝MongoDB之前,我們需要確保我們的環境準備就緒。

首先,我們需要一個執行在CentOS 7上的Linux系統

接下來,我們需要下載MongoDB社群版,你可以在官方網站上找到它。下載地址是 https://www.mongodb.com/try/download/community。

下載完成後,我們可以繼續進行MongoDB的安裝過程。讓我們開始吧!

# 下載MongoDB
wget https://fastdl.mongodb.org/linux/mongodb‐linux‐x86_64‐rhel70‐4.4.9.tgz
tar ‐zxvf mongodb‐linux‐x86_64‐rhel70‐4.4.9.tgz

啟動MongoDB Server

#建立dbpath和logpath
mkdir ‐p /mongodb/data /mongodb/log

#進入mongodb目錄,啟動mongodb服務
bin/mongod ‐‐port=27017 ‐‐dbpath=/mongodb/data ‐‐logpath=/mongodb/log/mongodb.log ‐‐bind_ip=0.0.0.0 ‐‐fork
  • --dbpath :用於指定資料檔案存放的目錄。
  • --logpath :用於指定紀錄檔檔案的路徑,注意這裡需要指定檔案而不是目錄。
  • --logappend :使用追加的方式記錄紀錄檔。
  • --port :用於指定埠號,預設為27017。
  • --bind_ip :預設只監聽localhost網路卡。
  • --fork :用於在後臺啟動。
  • --auth :用於開啟認證模式。

新增環境變數

開啟終端並輸入以下命令修改/etc/profile,這將在環境變數中新增MongoDB的路徑。,方便執行MongoDB命令,確保將路徑/usr/local/mongodb/bin替換為您實際安裝MongoDB的路徑。

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

然後在終端中輸入以下命令:source /etc/profile 重新載入檔案並使環境變數生效。

利用組態檔啟動服務

編輯/mongodb/conf/mongo.conf檔案,內容如下:

systemLog:
  destination: file
  path: /mongodb/log/mongod.log # log path
  logAppend: true
storage:
  dbPath: /mongodb/data # data directory
  engine: wiredTiger # 儲存引擎
  journal: # 是否啟用journal紀錄檔
    enabled: true
net:
  bindIp: 0.0.0.0
  port: 27017 # port
processManagement:
  fork: true

需要注意的是,一定要使用YAML格式:

開始啟動mongod

mongod ‐f /mongodb/conf/mongo.conf

-f 選項表示將使用使用指定組態檔啟動mongodb

關閉MongoDB服務

方式1:使用終端命令

mongod ‐‐port=27017 ‐‐dbpath=/mongodb/data ‐‐shutdown

方式2:
進入mongo shell

use admin
db.shutdownServer()

Docker安裝

https://hub.docker.com/_/mongo?tab=description&page=3

#拉取mongo映象
docker pull mongo:4.4.10

#執行mongo映象
docker run ‐‐name mongo‐server ‐p 29017:27017 \
‐e MONGO_INITDB_ROOT_USERNAME=xiaoyu \
‐e MONGO_INITDB_ROOT_PASSWORD=xiaoyu \
‐d mongo:4.4.10 ‐‐wiredTigerCacheSizeGB 1

在預設情況下,Mongo會根據主機的總記憶體比例來設定wiredTigerCacheSizeGB的值。然而,它並不會考慮你可能對容器施加的記憶體限制。如果MONGO_INITDB_ROOT_USERNAME和MONGO_INITDB_ROOT_PASSWORD都存在,那麼身份認證(mongod --auth)會被啟用。

#進入容器
docker exec ‐it mongo‐server bash

#進入Mongo shell
mongo ‐u xiaoyu ‐p xiaoyu

#建立使用者,賦予test庫的操作許可權
>use test
>db.createUser({user:"dcl",pwd:"123456",roles:["readWrite"]})

進入mongo shell

#遠端連線
mongo 192.168.65.97:29017 ‐u dcl ‐p 123456

注意下:dcl使用者只具備test庫的readWrite許可權

總結

本文總結了MongoDB的快速入門、Linux安裝和Docker設定指南。提供了一步步的操作指引,幫助讀者迅速上手MongoDB,並瞭解如何在Linux環境下進行安裝、啟動和設定。此外,文章還介紹了使用Docker安裝和設定MongoDB的方法,使讀者能夠更輕鬆地部署和管理MongoDB範例。