问题
报错如下:
To see additional information in this output, start without the "--fork" option
无法启动 mongodb 服务,容易被误导为缺失参数问题,但其实不是,而是存在一个固定文件(mongod.lock
文件)卡住了服务的运行。
正常情况下,mongodb 服务以配置文件启动命令如下:
mongod -f /home/env/mongodb/mongodb.conf
-f
指的是 --config
该配置文件内已经配置了 fork=true
,其实就是参数 -fork
,必要的 --dbpath 和 --logpath 都也配置好,所以真正出问题的不是在配置文件或命令参数的问题。
解决方法
找到一个 mongod.lock
文件,直接删除了,这是 mongodb
不正常退出导致的,比如使用了 kill -9
命令强制退出mongo服务进程。
如下:
重点来了
虽然笔者依旧是参考了部分资料,总结了该方法,但是仍旧无法立马解决,不知是哪里出问题了,等了一段时间后,就正常启动,权限问题倒是有可能,不过这里列举可能的解决方向。
一是,dbpath 参数目录下的目录权限问题,命令配置:
chmod 0755 dbpath参数的data目录
也就是让创建者拥有 读写和运行的权限,其他用户组只能读和运行,其他用户只能读和运行该目录内的文件,如下:
二是,你不是超级管理员root,只是一个拥有超级管理员权限的用户,但不是和 root 同一个用户组,所以只能读和运行,但却无法写文件,所以就无法创建新的 mongod.lock 文件,所以就无法启动 mongdb 服务。
参考链接
1.【已解决】Mongodb启动报错:about to fork child process, waiting until server is ready for connections.
3. MongoDB:To see additional information in this output, start without the “–fork“ option
5. 启动mongodb报错“about to fork child process, waiting until server is ready for connections.“
8. ERROR: CHILD PROCESS FAILED, EXITED WITH ERROR NUMBER 14 TO SEE ADDITIONAL INFORMATION IN THIS