不允许MongoDB操作

不允许MongoDB操作,mongodb,server,vps,Mongodb,Server,Vps,MongoDB一直工作正常,直到有一天它生成了一个锁文件并停止启动,出现以下错误: 16-12-28T17:50:14.559+0100 I CONTROL [initandlisten] build environment: 2016-12-28T17:50:14.559+0100 I CONTROL [initandlisten] distmod: debian71 2016-12-28T17:50:14.559+0100 I CONTROL [initandlisten]

MongoDB一直工作正常,直到有一天它生成了一个锁文件并停止启动,出现以下错误:

16-12-28T17:50:14.559+0100 I CONTROL  [initandlisten] build environment:
2016-12-28T17:50:14.559+0100 I CONTROL  [initandlisten]     distmod: debian71
2016-12-28T17:50:14.559+0100 I CONTROL  [initandlisten]     distarch: x86_64
2016-12-28T17:50:14.559+0100 I CONTROL  [initandlisten]     target_arch: x86_64
2016-12-28T17:50:14.559+0100 I CONTROL  [initandlisten] options: {}
2016-12-28T17:50:14.577+0100 I -        [initandlisten] Detected data files in /data/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2016-12-28T17:50:14.577+0100 I STORAGE  [initandlisten]
2016-12-28T17:50:14.577+0100 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2016-12-28T17:50:14.577+0100 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
2016-12-28T17:50:14.577+0100 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=1024M,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2016-12-28T17:50:14.590+0100 E STORAGE  [initandlisten] WiredTiger error (1) [1482943814:590694][32048:0x7f27c7cdcc80], file:WiredTiger.wt, connection: /data/db/WiredTiger.wt: handle-open: open: Operation not permitted
2016-12-28T17:50:14.591+0100 I -        [initandlisten] Assertion: 28595:1: Operation not permitted src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp 267
2016-12-28T17:50:14.591+0100 I STORAGE  [initandlisten] exception in initAndListen: 28595 1: Operation not permitted, terminating
2016-12-28T17:50:14.591+0100 I NETWORK  [initandlisten] shutdown: going to close listening sockets...
2016-12-28T17:50:14.591+0100 I NETWORK  [initandlisten] removing socket file: /tmp/mongodb-27017.sock
2016-12-28T17:50:14.591+0100 I NETWORK  [initandlisten] shutdown: going to flush diaglog...
2016-12-28T17:50:14.591+0100 I CONTROL  [initandlisten] now exiting
2016-12-28T17:50:14.591+0100 I CONTROL  [initandlisten] shutting down with code:100
我已经删除了所有软件包并重新安装了所有mongodb服务,但运气不好。

您尝试过这个吗


苏多·周-R⁠⁠⁠⁠id-u⁠⁠⁠⁠ /数据/db

假设权限正确。可能是selinux问题,请尝试:

setenforce 0

然后尝试启动服务器。如果服务器启动,您必须使用semanage为mongo数据文件夹设置适当的上下文

是的,我已使mongod成为该文件夹的所有者,甚至尝试将所有文件读写。请确保您没有运行mongod实例。运行this命令查看是否有实例在后台运行:ps aux | grep mongo如果有类似的:24337 bla bla mongod do:kill 24337,那么您可能可以很好地运行它。@eririch即使没有其他选项,因为第三方工具也无法正常工作?@DanNissenbaum我的答案集中在诊断问题如果您的系统在非强制模式下使用selinux,则您可能必须使用chcon更改数据文件夹的上下文及其内容以更改上下文,使用semanage更改策略,或使用audit2allow on security logs为您生成规则。本视频将介绍如何使用其中一些工具,但有大量的how-to将向您展示如何生成策略,或至少将您的应用程序(如mongo)设置为许可模式,即除该应用程序外的所有内容都是未绑定的