我从其他服务器上获取/ data / db目录中的所有文件,现在尝试在另一个服务器上启动mongo。这是我的文件:
-rw------- 1 root root 1073741824 Feb 2 11:21 j._0
drwxr-xr-x 2 mongodb nogroup 4096 May 3 12:02 journal
-rw------- 1 root root 67108864 Feb 12 06:43 metadocs-node_db.0
-rw------- 1 root root 134217728 Jun 27 2012 metadocs-node_db.1
-rw------- 1 root root 16777216 Feb 12 06:43 metadocs-node_db.ns
-rwxr-xr-x 1 mongodb nogroup 0 May 3 12:02 mongod.lock
-rw------- 1 root root 1073741824 Aug 28 2012 prealloc.1
-rw------- 1 root root 1073741824 Aug 28 2012 prealloc.2
root@mtg:/var/lib/mongodb#
启动时,我得到(来自logfile /var/log/mongodb/mongodb.log):
Fri May 3 12:02:01 [initandlisten] options: { bind_ip: "127.0.0.1", config:
"/etc/mongodb.conf", dbpath: "/var/lib/mongodb",$
Fri May 3 12:02:01 [initandlisten] journal dir=/var/lib/mongodb/journal
Fri May 3 12:02:01 [initandlisten] recover : no journal files present, no recovery needed
Fri May 3 12:02:01 [initandlisten] couldn't open /var/lib/mongodb/_metadocs-node_db.ns errno:13 Permission denied
Fri May 3 12:02:01 [initandlisten] error couldn't open file /var/lib/mongodb/_metadocs-node_db.ns terminating
Fri May 3 12:02:01 dbexit:
我正在运行
sudo service mongodb start
那么,我做错了什么? mongodb缺少哪些文件?为什么我得到“权限被拒绝”?以root身份工作,BTW。没有其他mongo实例正在运行。谢谢!
答案 0 :(得分:2)
当启动MongoDB作为服务时,打包的启动脚本将在MongoDB用户下启动您的mongod服务器。查看用于mongod的MongoDB 2.4 init.d脚本将用户显示为“mongod”。在设置数据和日志目录时,MongoDB用户对包含在其中的目录和文件具有读/写访问权限非常重要。