以下是MongoDB在Ubuntu上的配置技巧,涵蓋安裝、性能優化及安全等方面:
安裝MongoDB
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb [arch=amd64,arm64] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt update
sudo apt install -y mongodb-org # 安裝最新穩定版
sudo systemctl enable --now mongod
核心配置文件(/etc/mongod.conf)
storage.dbPath
(默認 /var/lib/mongodb
),確保目錄權限正確:sudo chown -R mongodb:mongodb /var/lib/mongodb
net.bindIp
為 0.0.0.0
(允許所有IP訪問,生產環境建議限制為內網IP),并指定端口(默認 27017
)。systemLog.path
指定日志文件路徑(如 /var/log/mongodb/mongod.log
),并開啟日志追加模式 logAppend: true
。存儲引擎調優
storage.wiredTiger.engineConfig.cacheSizeGB
設置緩存大?。ńㄗh為服務器內存的50%-70%)。echo never > /sys/kernel/mm/transparent_hugepage/enabled
,避免內存碎片影響性能。索引優化
db.collection.createIndex({ field: 1 }) // 1為升序,-1為降序
db.collection.reIndex()
重建索引以優化查詢效率。分片與復制集(高可用場景)
sh.enableSharding("數據庫名")
啟用分片,將數據分散到多個節點。replication.replSetName
并添加多個節點,實現數據冗余和故障自動切換。啟用身份驗證
security.authorization: enabled
,并重啟服務。use admin
db.createUser({ user: "admin", pwd: "密碼", roles: ["root"] })
網絡與防火墻
ufw
或 iptables
配置防火墻規則。mongostat
(實時監控)和 mongotop
(按集合統計磁盤I/O)查看性能狀態。mongodump
導出數據,存儲到異地服務器或云存儲,確保數據安全。sudo systemctl restart mongod
。以上技巧綜合自搜索資源,可根據實際場景調整參數。