2019年05月27日 17:18:30 西門小鳳 閱讀數 275更多html
分類專欄: MongoDBmongodb
版權聲明:本文爲博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接和本聲明。緩存
本文連接:https://blog.csdn.net/weixin_43886133/article/details/90607193優化
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
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
開啓用戶認證前須要建立一個root用戶 如:日誌
use admin db.createUser({ user:"root", pwd:"root123", roles:[ { role:"userAdminAnyDatabase", db:"admin" } ] })
而後在配置文件中添加以下配置信息code
security: authorization: enabled
而後重啓mongo, 否則用戶認證不生效, 重啓後就能夠建立其餘普通用戶了htm