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),修复已知漏洞。