以下是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
设置缓存大小(建议为服务器内存的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
。以上技巧综合自搜索资源,可根据实际场景调整参数。