尝试启动mongodb时出现问题,下面我向您显示错误:
xxx@xxx [/var/lib/mongo]# /etc/init.d/mongod start
Starting mongod: all output going to: /var/log/mongo/mongod.log
[FAILED]
在mongod.log上看到我收到以下通知:
***** SERVER RESTARTED *****
Thu Mar 21 12:10:20.860 [initandlisten] MongoDB starting : pid=19148 port=27017 dbpath=/var/lib/mongo 64-bit host=srv1.canoa.net
Thu Mar 21 12:10:20.860 [initandlisten] db version v2.4.0
Thu Mar 21 12:10:20.860 [initandlisten] git version: ce2d666c04b4a80af58e8bbb3388b0680e8cfeb6
Thu Mar 21 12:10:20.860 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Thu Mar 21 12:10:20.861 [initandlisten] allocator: tcmalloc
Thu Mar 21 12:10:20.861 [initandlisten] options: { config: "/etc/mongod.conf", dbpath: "/var/lib/mongo", logappend: "true", logpath: "/var/log/mongo/mongod.log", pidfilepath: "/var/run/mongodb/mongod.pid" }
Thu Mar 21 12:10:20.861 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /var/lib/mongo/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
Thu Mar 21 12:10:20.861 dbexit:
Thu Mar 21 12:10:20.861 [initandlisten] shutdown: going to close listening sockets...
Thu Mar 21 12:10:20.861 [initandlisten] shutdown: going to flush diaglog...
Thu Mar 21 12:10:20.861 [initandlisten] shutdown: going to close sockets...
Thu Mar 21 12:10:20.861 [initandlisten] shutdown: waiting for fs preallocator...
Thu Mar 21 12:10:20.861 [initandlisten] shutdown: lock for final commit...
Thu Mar 21 12:10:20.861 [initandlisten] shutdown: final commit...
Thu Mar 21 12:10:20.861 [initandlisten] shutdown: closing all files...
Thu Mar 21 12:10:20.861 [initandlisten] closeAllFiles() finished
Thu Mar 21 12:10:20.861 [initandlisten] shutdown: removing fs lock...
Thu Mar 21 12:10:20.861 [initandlisten] couldn't remove fs lock errno:9 Bad file descriptor
Thu Mar 21 12:10:20.861 dbexit: really exiting now
引起我注意的是:
Thu Mar 21 12:10:20.861 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /var/lib/mongo/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
/ var / lib / mongo中的文件夹和文件具有0755权限。
如果有人能告诉我这样做的方法,我将不胜感激。
答案 0 :(得分:5)
我解决了错误,因为我只有mongod
用户分配给/var/lib/mongo
而不是其中的文件,以下命令解决了这一部分:chown -R mongod:mongod /var/lib/mongo
。
然后只需要使用用户mongod
使用以下命令修复数据库:sudo -u mongod mongod -f /etc/mongod.conf --repair
,我终于成功启动了数据库。
我希望这对其他人有所帮助。
谢谢大家的回答。
答案 1 :(得分:2)
也许上次mongod
进程被错误终止时,请尝试删除mongo.lock
这应该有帮助
答案 2 :(得分:-1)
我假设您正在以root身份运行 service mongodb start / stop / restart / status 命令? ..使用sudo?如果我尝试以普通用户身份启动它,我会收到该错误。