在Debian系统上配置MongoDB涉及多个步骤,包括安装、配置、性能优化、安全性和用户管理。以下是一个详细的指南:
安装MongoDB
首先,确保你的Debian系统是最新的:
sudo apt update && sudo apt upgrade -y
导入MongoDB公钥:
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
创建MongoDB列表文件:
echo "deb [archamd64,arm64] https://repo.mongodb.org/apt/debian bullseye/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
更新包列表并安装MongoDB:
sudo apt update sudo apt install -y mongodb-org
启动MongoDB服务
安装完成后,启动MongoDB服务并设置其开机自启:
sudo systemctl start mongod sudo systemctl enable mongod
配置MongoDB
编辑MongoDB的配置文件 /etc/mongod.conf
:
sudo nano /etc/mongod.conf
允许远程连接
修改 net.bindIp
参数以允许来自特定IP地址的连接。例如,允许所有IP地址连接:
net: port: 27017 bindIp: 0.0.0.0
启用用户认证
取消注释或添加以下行以启用用户认证:
security: authorization: enabled
创建一个具有管理员角色的新用户:
use admin db.createUser({ user: "myUserAdmin", pwd: "abc123", roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ] })
性能优化
- 索引优化:使用
db.collection.createIndex({ field: 1 })
为集合创建索引。 - 监控工具:使用
mongostat
和mongotop
实时监控数据库性能。 - 配置WiredTiger缓存:设置
storage.wiredTiger.engineConfig.cacheSizeGB
参数以配置缓存大小。 - 使用多个CPU内核:确保MongoDB能够利用多核CPU。
安全性配置
- 用户权限管理:使用
db.createUser
创建具有适当权限的用户。 - 定期备份:使用
mongodump
定期备份数据库。
mongodump --db database1 --out backup
配置防火墙
确保你的防火墙允许MongoDB的默认端口(27017)上的流量。如果你使用的是 ufw
(Uncomplicated Firewall),可以运行以下命令:
sudo ufw allow 27017/tcp