【问题标题】:Mongodb restore problemsMongodb恢复问题
【发布时间】:2013-04-01 22:20:09
【问题描述】:

在 Ubuntu 12.04 机器上运行的 Mongodb 决定转储内核,因为它打开了太多文件(掌声)。在以http://docs.mongodb.org/manual/tutorial/recover-data-following-unexpected-shutdown/ 提到的(但未指定)的root 身份运行mongod --repair 之后,我现在发现mongo 显然以某种方式破坏了自己的文件权限 - 每次我尝试启动时,我都会得到

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 糟糕的另一个原因还有几毫米的距离。我能做些什么来让 mongo 再次快乐,所以我不必这样做?我没试过什么?什么给了?

【问题讨论】:

  • 我在尝试让程序使用 /var/lib/x 时经常遇到权限问题,一个简单的解决方法是以 root 身份运行该软件或只使用另一个目录。如果您选择使用其他目录,您只需将 /var/lib/mongodb 中的文件移动到您选择的目录并将其设置为您的 dbpath。当您第一次运行 mongod 实例时,您能否以 root 身份启动它?你不应该以 root 身份运行 mongod --repair,所以这似乎是相关的......
  • 是的,我想也许我应该以 mongodb 用户的身份运行修复。不幸的是,文档对此没有什么可说的......
  • 您是否能够以该路径作为 root 运行 mongod 或成功移动文件?只是想确保您还没有遇到问题。另请参阅docs.mongodb.org/manual/administration/ulimit,了解有关提高最大打开文件数限制的更多信息。
  • 它目前以 root 身份运行,但我认为这是一种临时措施......

标签: mongodb


【解决方案1】:

你试过了吗 sudo chown -Rh mongodb:mongodb /var/lib/mongod*?

这具有 Linux 权限问题的所有特征,chmod'ding 777 总是一个坏主意。

【讨论】:

  • 我想过这个问题,但没有尝试——我想不出一个原因,如果我 chown'ed 文件 chmod'ed 777 会突然变得可写。介意提供一个吗? ;-)
猜你喜欢
  • 2020-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多