2013-04-01 88 views
6

在Ubuntu 12.04盒子上运行的Mongodb决定转储核心,因为它打开了太多文件(掌声)。运行mongod --repair为根为http://docs.mongodb.org/manual/tutorial/recover-data-following-unexpected-shutdown/暗示(但未指定)之后,我现在发现,蒙戈显然已经疲惫不堪了它自己的文件权限,不知何故 - 每次我尝试启动,我得到Mongodb恢复问题

Mon Apr 1 15:10:08 [initandlisten] options: { bind_ip: "127.0.0.1", config: "/etc/mongodb.conf", dbpath: "/var/lib/mongodb", logappend: "true", logpath: "/var/log/mongodb/mongodb.log", nojournal: "true" } 
Mon Apr 1 15:10:09 [initandlisten] couldn't open /var/lib/mongod/cerebro_test_import_ayp_part2.ns errno:1 Operation not permitted 
Mon Apr 1 15:10:09 [initandlisten] error couldn't open file /var/lib/mongodb/cerebro_test_import_ayp_part2.ns terminating 

“操作不是时间允许“?真?即使经过

$ sudo chmod -R 777 /var/lib/mongodb 

?我离开这个整个数据库并把它粉刷起来是几毫米,这是Mongo吸收的另一个原因。我能做些什么来让孟戈再次开心,所以我不必那样做?我没有尝试过什么?是什么赋予了?

+1

当试图让程序使用/ var/lib/x时,我经常会遇到权限问题,一个简单的解决方法是以root身份运行软件或仅使用其他目录。如果您选择使用其他目录,则可以将/ var/lib/mongodb中的文件移动到您选择的目录并将其设置为您的dbpath。您是否可以在第一次运行时以root身份启动您的mongod实例?你不应该以root身份运行mongod --repair,所以看起来这可能是相关的...... – ACE

+0

是的,我想也许我应该运行修复作为mongodb用户。文档没有什么可说的,不幸的是...... – cbmanica

+0

你能够以root身份运行mongod或成功移动文件吗?只是想确保你还没有遇到问题。另请参阅http://docs.mongodb.org/manual/administration/ulimit/以了解有关提高打开的最大文件数限制的更多信息。 – ACE

回答

9

你尝试 sudo chown -Rh mongodb:mongodb /var/lib/mongod*

这有一个Linux权限问题的所有特点,chmod'ding 777始终是一个坏主意。

+3

我曾考虑过这个问题,但没有尝试 - 我无法想出一个理由,即chmod'ed 777文件会突然如果我给他们发短信,就会变得可写。小心提供一个? ;-) – cbmanica

+1

This works .Thnsk – msangel

+1

THANK YOU so muchch !!!!!!!!!!!!!!!!!!!!!这帮了我很多! –