mkdir xxx后mongod --dbpath xxx初始化了一下,然后在另外的一个命令行中运行mongo显示已经链接。然后,更改mongo.conf个dbpath后,service启动,报错。我更改了xxx文件夹的权限后,仍然启动报错。已经删除过mongod.lock文件。现在,mongod命令能启动,而servce却不能启动,报错如下: 命令行中报错:ERROR: child process failed, exited with error number 45 log中:couldn’t open /var/lib/mongo/xxx/local.ns errno:13 Permission denied error couldn’t open file /var/lib/mongo/xxx/local.ns terminating 求解答。是有线程没有关闭吗?
13 回复
@jiyinyiyong 我试了一下,如果只有权限还是会报错,将文件夹的所有者设置为mongodb后,能正常启动服务。我感觉是service启动,mongodb需要对这个文件夹和里面的文件有读写权限,而且文件夹和里面文件的所有者需要是mongodb。是这样吗?
@jiyinyiyong 对的,我也是用root。表现就是:在数据库文件夹的所有者是root的情况下,直接用mongod命令可以启动数据库,而用service命令是不能启动的。我觉得读一下service相关的机制,就应该能了解具体原因了。