Heim  >  Artikel  >  Datenbank  >  mongodb关于启动权限的问题

mongodb关于启动权限的问题

WBOY
WBOYOriginal
2016-06-07 15:54:231714Durchsuche

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路径也可)
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn