服务器搭建MongoDB完整指南
服务器选择
环境检查
# 更新系统软件包 sudo apt update && sudo apt upgrade -y # Ubuntu/Debian # 或 sudo yum update -y # CentOS/RHEL
Ubuntu/Debian
# 导入MongoDB公钥 wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | sudo apt-key add - # 添加MongoDB源 echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list # 安装MongoDB sudo apt update sudo apt install -y mongodb-org
CentOS/RHEL
# 创建仓库文件 cat <<EOF | sudo tee /etc/yum.repos.d/mongodb-org-7.0.repo [mongodb-org-7.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/7.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-7.0.asc EOF # 安装MongoDB sudo yum install -y mongodb-org
sudo systemctl start mongod sudo systemctl enable mongod # 检查运行状态 sudo systemctl status mongod
创建管理员账户
连接到MongoDB Shell:
mongosh
执行以下命令:
use admin db.createUser({ user: "admin", pwd: "your_secure_password", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] })
启用身份验证
修改配置文件:
sudo nano /etc/mongod.conf
找到security
部分并添加:
security: authorization: enabled
重启服务生效:
sudo systemctl restart mongod
防火墙配置
仅允许可信IP访问27017端口:
sudo ufw allow from 192.168.1.0/24 to any port 27017 # Ubuntu # 或 sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="27017" accept' # CentOS
修改监听地址
编辑配置文件:
sudo nano /etc/mongod.conf
将net.bindIp
改为0.0.0
:
net: port: 27017 bindIp: 0.0.0.0
重启服务
sudo systemctl restart mongod
mongodump --uri="mongodb://admin:your_password@localhost:27017" --out=/path/to/backup
mongorestore --uri="mongodb://admin:your_password@localhost:27017" /path/to/backup
bindIp
设置。 authorization: enabled
已启用。 mongosh --eval "db.adminCommand({cleanupOrphaned: 'dbname'})"
引用说明
本文参考MongoDB官方文档及Linux系统管理最佳实践,确保配置符合安全与性能标准。