阅读量:2
以下是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,并确保配置服务器、分片服务器和路由服务器正常运行。
- 检查
参考来源:
以上就是关于“Ubuntu MongoDB配置常见问题解答”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm