在Ubuntu上配置MongoDB时,需注意以下易踩雷区及对应解决方法:
-
权限问题
- 数据目录(默认
/var/lib/mongodb)需确保属主为mongodb用户,且权限为755,否则会导致服务启动失败。 - 错误示例:误将目录权限设为
777或属主设为当前用户,可能引发安全风险或服务异常。
- 数据目录(默认
-
配置文件错误
bindIp参数配置不当(如未设为0.0.0.0却需远程访问),会导致连接失败。- 端口冲突:默认
27017端口被其他进程占用时,需修改配置或终止占用进程。
-
服务管理问题
- 未正确启用开机自启:需通过
systemctl enable mongod设置,否则重启后服务无法自动启动。 - 强制终止进程(如
kill -9)可能导致数据损坏,应优先通过systemctl stop mongod安全停止服务。
- 未正确启用开机自启:需通过
-
资源不足
- 磁盘空间不足会导致服务无法启动,需通过
df -h检查并清理空间。 - 内存配置不当(如
cacheSizeGB超过系统可用内存),可能引发性能问题或服务崩溃。
- 磁盘空间不足会导致服务无法启动,需通过
-
安全配置缺失
- 未启用认证(
security.authorization: enabled),可能导致未授权访问。 - 生产环境中未限制IP访问(
bindIp未设为特定IP或0.0.0.0),存在网络攻击风险。
- 未启用认证(
-
版本兼容性问题
- 旧版本Ubuntu(如16.04)需手动配置MongoDB仓库,官方源可能不兼容,需通过
apt-key添加密钥并指定版本。
- 旧版本Ubuntu(如16.04)需手动配置MongoDB仓库,官方源可能不兼容,需通过
参考来源: