1. 安装前的系统准备
在Ubuntu上安装MongoDB前,需先更新系统包以确保依赖兼容:sudo apt update && sudo apt upgrade -y
。此外,需安装必要依赖(如libcurl4
、openssl
),避免安装过程中出现依赖错误。
2. MongoDB源的正确配置
Ubuntu的MongoDB包需通过官方源安装(而非默认仓库)。需完成以下步骤:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
(若密钥过期,需替换为最新密钥);echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
(将$(lsb_release -cs)
替换为Ubuntu版本代号,如focal
对应20.04、jammy
对应22.04);sudo apt update && sudo apt install -y mongodb-org
。3. 配置文件的关键参数调整
MongoDB的主配置文件为/etc/mongod.conf
,需重点修改以下参数:
storage.dbPath
需指向有效目录(如/var/lib/mongodb
),并确保MongoDB用户(mongodb
)对该目录有读写权限(sudo chown -R mongodb:mongodb /var/lib/mongodb
);systemLog.destination
设为file
,systemLog.path
指定日志文件路径(如/var/log/mongodb/mongod.log
),logAppend
设为true
(避免日志覆盖);net.bindIp
默认为127.0.0.1
(仅本地连接),若需远程访问,可改为0.0.0.0
(需配合防火墙限制IP);net.port
默认为27017
,可根据需求修改(需确保端口未被占用);storage.engine
默认为wiredTiger
(推荐),可通过storage.wiredTiger.engineConfig.cacheSizeGB
限制缓存大小(建议为系统内存的50%-70%)。4. 安全配置的核心措施
security
section添加authorization: enabled
,强制用户登录;mongo
),切换至admin
数据库,执行db.createUser({ user: "admin", pwd: "强密码", roles: [{ role: "root", db: "admin" }]})
;net.bindIp
设为0.0.0.0
,需通过防火墙(如ufw
)限制访问IP:sudo ufw allow from <信任IP> to any port 27017
;net.ssl
section配置mode: requireSSL
、PEMKeyFile
(证书路径)、CAFile
(CA证书路径),加密客户端与服务器通信。5. 性能优化的关键方向
db.collection.createIndex({ field: 1 })
),避免全表扫描;sharding.clusterRole
为shardsvr
),将数据分布到多个节点;cron
、bluetooth
),减少系统负载;调整net.maxIncomingConnections
(默认10000,可根据需求修改)限制最大连接数。6. 日志与监控的设置
systemLog.path
指向有效路径,logAppend
设为true
,定期检查日志(如tail -f /var/log/mongodb/mongod.log
)以排查问题;mongostat
查看操作速率、mongotop
查看集合级IO)或第三方工具(如Percona Monitoring and Management(PMM))监控性能指标(如CPU、内存、磁盘IO、查询延迟)。7. 备份与恢复策略
定期备份数据是防止数据丢失的关键。可使用mongodump
(逻辑备份,导出为BSON文件)或mongorestore
(恢复数据)工具:
mongodump --host <主机IP> --port 27017 --username <管理员> --password <密码> --authenticationDatabase admin --out /backup/mongodump_$(date +%F)
;oplog
(需配置复制集)实现;mongorestore --host <主机IP> --port 27017 --username <管理员> --password <密码> --authenticationDatabase admin /backup/mongodump_$(date +%F)
。8. 版本与更新管理
sudo apt update && sudo apt upgrade mongodb-org
),修复已知漏洞。