Ubuntu MongoDB配置常见问题解答
以下是Ubuntu MongoDB配置常见问题及解决方案:
1. 权限问题
- 现象:启动失败,提示“Permission denied”或“Failed to create lock file”。
- 原因:数据目录或日志目录权限不足。
- 解决方案:
sudo mkdir -p /var/lib/mongodb /var/log/mongodb sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb
2. 服务无法启动
- 现象:
systemctl start mongod
失败。 - 原因:端口被占用、配置文件错误或依赖缺失。
- 解决方案:
- 检查端口占用:
sudo netstat -tulnp | grep 27017
,修改/etc/mongod.conf
中net.port
或终止冲突进程。 - 验证配置文件语法:
sudo mongod --config /etc/mongod.conf --fork --logpath /var/log/mongodb/mongod.log
。
- 检查端口占用:
3. 远程连接失败
- 现象:无法通过远程IP连接MongoDB。
- 原因:
bindIp
未设置为0.0.0.0
或防火墙拦截。 - 解决方案:
- 编辑
/etc/mongod.conf
,设置net.bindIp: 0.0.0.0
,并重启服务。 - 开放防火墙端口:
sudo ufw allow 27017/tcp
。
- 编辑
4. 认证失败
- 现象:使用用户名密码登录时提示“Authentication failed”。
- 原因:未启用认证或用户权限不足。
- 解决方案:
- 启用认证:在
/etc/mongod.conf
中设置security.authorization: enabled
,并重启服务。 - 创建用户并授权:
mongosh use admin db.createUser({ user: "admin", pwd: "密码", roles: ["userAdminAnyDatabase", "readWriteAnyDatabase"] })
- 启用认证:在
5. 配置文件修改后未生效
- 原因:未重启MongoDB服务。
- 解决方案:
sudo systemctl restart mongod
6. 磁盘空间不足
- 现象:服务启动失败,提示“Insufficient disk space”。
- 解决方案:
- 清理磁盘空间:
sudo journalctl --vacuum-size=100M
或删除旧日志。 - 修改数据目录到更大磁盘分区,更新
/etc/mongod.conf
中storage.dbPath
。
- 清理磁盘空间:
7. 日志文件过大
- 现象:日志文件占用过多空间。
- 解决方案:
- 配置日志轮转:在
/etc/mongod.conf
中设置systemLog.logAppend: true
,并定期清理旧日志。 - 使用
logrotate
工具管理日志文件。
- 配置日志轮转:在
8. 副本集/分片配置问题
- 现象:副本集无法同步或分片集群无法识别。
- 解决方案:
- 检查
/etc/mongod.conf
中replication.replSetName
是否一致,确保所有节点配置正确。 - 分片集群需额外配置
sharding.clusterRole
,并确保配置服务器、分片服务器和路由服务器正常运行。
- 检查
参考来源:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!