mongodb关于启动权限的问题

WBOY
풀어 주다: 2016-06-07 15:54:23
원래의
1711명이 탐색했습니다.

mongodb在ubuntu的安装 安装完成,在/etc/mongodb.conf配置自己的 dbpath,logpath等,即可指定到路径。 然后即可使用service来启动mongo数据库: service mongodb start/stop service的默认权限是 mongodb 用户,一般不是root用户 问题 有时候我们会因为数

mongodb在ubuntu的安装

安装完成,在/etc/mongodb.conf配置自己的 dbpath,logpath等,即可指定到路径。

然后即可使用service来启动mongo数据库:

service mongodb start/stop
로그인 후 복사
service的默认权限是mongodb用户,一般不是root用户

问题

有时候我们会因为数据的问题(如备份mongodump, 恢复mongorestore)会重新修复数据库存

mongod --repair --dbpath=f:/dbpath
로그인 후 복사
这个时候就要注意你所使用的权限了,一般会是root用户。

不过问题就来了,当你重启mongodb的时候,发现启动不了,log日志报出的是:

Fri Mar 28 13:05:01 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: 
/opt/mongo/data/mongod.lock errno:13 Permission denied
로그인 후 복사

或者

warning couldn't write to / rename file /data/db/journal/prealloc.0: couldn't open file 
/opt/mongo/data/journal/prealloc.0 for writing errno:13 Permission denied 
Fri Mar 28 13:09:59 [initandlisten] exception in initAndListen: 13516 couldn't open file 
/opt/mongo/data/journal/j._0 for writing errno:13 Permission denied, terminating
로그인 후 복사

等等,基本上都是说Permission denied的事。

解决

其实也很明险,主要还是权限的问题。

当你使用 “root”账号在 mongod上做一些文章的时候,生成的文件和目录都会是root的权限。

而当你用service mongodb start时,这个的启动并不是root账号,一般是mongodb账号,因而自然访问不了一些root的文件和文件夹了。

所以只要重新分配dbpath的权限即可:

sudo chown -R mkyong /data/db (自定义的data路径也可)
로그인 후 복사
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!