mongodb配置文件詳解


 

 

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

常用基本配置文件參數

 

storage:
  # mongod 進程存儲數據目錄,此配置僅對 mongod 進程有效
  dbPath: /data/mongodb/db
  是否開啟 journal 日志持久存儲,journal 日志用來數據恢復,是 mongod 最基礎的特性,通常用於故障恢復。64 位系統默認為 true32 位默認為 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

 

 

內存優化相關的配置

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

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

 

注意:cacheSizeGB只限制存儲引擎使用的內存 但是儲存引擎使用的內存 < mongodb使用的總內存

 

添加用戶認證

開啟用戶認證前需要創建一個root用戶 如:

 

use admin
db.createUser({
user:"root",
pwd:"root123",
roles:[
{
role:"userAdminAnyDatabase",
db:"admin"
}
]
})

 

然后在配置文件中添加如下配置信息

 

security:
  authorization: enabled

 

然后重啟mongo, 不然用戶認證不生效, 重啟后就可以創建其他普通用戶了

 

參考:https://blog.csdn.net/weixin_43886133/article/details/90607193

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM