mongodb配置文件詳解,內存限制,用戶驗證 yaml格式

mongodb配置文件詳解,內存限制,用戶驗證 yaml格式

2019年05月27日 17:18:30 西門小鳳 閱讀數 275更多html

分類專欄: MongoDBmongodb

版權聲明:本文爲博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接和本聲明。緩存

本文連接:https://blog.csdn.net/weixin_43886133/article/details/90607193優化

 

mongodb 單節點配置文件詳解


mongodb 3.0及以上版本基本都是使用 yaml 語法格式的配置文件, 啓動 mongo 實例若是不是指定配置文件或參數命令啓動, 會按照默認的參數啓動。spa

 

經常使用基本配置文件參數

storage:
  # mongod 進程存儲數據目錄,此配置僅對 mongod 進程有效
  dbPath: /data/mongodb/db
  是否開啓 journal 日誌持久存儲,journal 日誌用來數據恢復,是 mongod 最基礎的特性,一般用於故障恢復。64 位系統默認爲 true,32 位默認爲 false,建議開啓,僅對 mongod 進程有效。
  journal:
    enabled: true
 # 存儲引擎類型,mongodb 3.0 以後支持 「mmapv1」、「wiredTiger」 兩種引擎,默認值爲「mmapv1」;官方宣稱 wiredTiger 引擎更加優秀。
  engine: mmapv1

systemLog:
  # 日誌輸出目的地,能夠指定爲 「file」 或者「syslog」,表述輸出到日誌文件,若是不指定,則會輸出到標準輸出中(standard output)
  destination: file
  # 若是爲 true,當 mongod/mongos 重啓後,將在現有日誌的尾部繼續添加日誌。不然,將會備份當前日誌文件,而後建立一個新的日誌文件;默認爲 false。
  logAppend: true
  # 日誌路徑
  path: /var/log/mongodb/mongod.log

net:
 # 指定端口
  port: 27017
  # 綁定外網 op 多個用逗號分隔
  bindIp: 0.0.0.0
  maxIncomingConnections: 10000
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

內存優化相關的配置

MongoDB 在使用過程當中, 內存佔用會愈來愈大, 甚至達到危險的狀態, 並且會一直保持最高狀態,
官網上有相關的內容:https://docs.mongodb.com/v3.4/core/wiredtiger/index.html
如下根據官網, 增長限制內存的配置, 啓動mongo使用配置文件啓動.net

storage:
  dbPath: /data/mongodb/db
  journal:
    enabled: true
  engine: wiredTiger
    # 以下配置僅對 wiredTiger 引擎生效(3.0 以上版本)  
  	wiredTiger:
  	  # wiredTiger 緩存工做集(working set)數據的內存大小,單位:GB
      # 此值決定了 wiredTiger 與 mmapv1 的內存模型不一樣,它能夠限制 mongod 對內存的使用量,而 mmapv1 則不能(依賴於系統級的 mmap)。默認狀況下,cacheSizeGB 的值爲假定當前節點只部署一個 mongod 實例,此值的大小爲物理內存的一半;若是當前節點部署了多個 mongod 進程,那麼須要合理配置此值。若是 mongod 部署在虛擬容器中(好比,lxc,cgroups,Docker)等,它將不能使用整個系統的物理內存,則須要適當調整此值。默認值爲物理內存的一半。
      engineConfig:
      	cacheSizeGB: 5

systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log
  
net:
  port: 27017
  bindIp: 0.0.0.0
  maxIncomingConnections: 10000
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

添加用戶認證

開啓用戶認證前須要建立一個root用戶 如:日誌

use admin
db.createUser({
user:"root",
pwd:"root123",
roles:[
{
role:"userAdminAnyDatabase",
db:"admin"
}
]
})
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

而後在配置文件中添加以下配置信息code

security:
  authorization: enabled
  • 1
  • 2

而後重啓mongo, 否則用戶認證不生效, 重啓後就能夠建立其餘普通用戶了htm

相關文章
相關標籤/搜索