使用以前/ data / db内容的简单备份启动mongodb

时间:2013-05-03 12:10:19

标签: mongodb ubuntu backup restore

我从其他服务器上获取/ 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实例正在运行。谢谢!

1 个答案:

答案 0 :(得分:2)

当启动MongoDB作为服务时,打包的启动脚本将在MongoDB用户下启动您的mongod服务器。查看用于mongod的MongoDB 2.4 init.d脚本将用户显示为“mongod”。在设置数据和日志目录时,MongoDB用户对包含在其中的目录和文件具有读/写访问权限非常重要。