简体   繁体   English

尝试启动mongodb时出错

[英]Error trying to start mongodb

I have a problem when try to start mongodb, below I show you the error: 尝试启动mongodb时遇到问题,下面向您显示错误:

    xxx@xxx [/var/lib/mongo]# /etc/init.d/mongod start
    Starting mongod: all output going to: /var/log/mongo/mongod.log
                                                           [FAILED]

Seeing on mongod.log I get the following notifications: 在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

Something that gets my attention is this: 引起我注意的是:

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

The folder and files inside /var/lib/mongo has 0755 permission. / var / lib / mongo中的文件夹和文件具有0755权限。

If anyone can tell me a way to do this, I'd be grateful. 如果有人可以告诉我这样做的方法,我将不胜感激。

I solved the error, it was because I only had mongod user assigned to the /var/lib/mongo but not the files within, the following command resolved this part: chown -R mongod:mongod /var/lib/mongo . 我解决了该错误,这是因为我仅将mongod用户分配给了/var/lib/mongo但没有将其分配给其中的文件,因此以下命令解决了这一部分: chown -R mongod:mongod /var/lib/mongo

Then only had to repair the database with the user mongod with the following command: sudo -u mongod mongod -f /etc/mongod.conf --repair , I finally started the database successfully. 然后只需使用以下命令用mongod用户修复数据库: sudo -u mongod mongod -f /etc/mongod.conf --repair ,我终于成功启动了数据库。

I hope this will be helpful to other. 我希望这对其他人有帮助。

Thank you all for your answers. 谢谢大家的答案。

也许上一次mongod进程错误地终止了,请尝试删除mongo.lock这应该有所帮助

I presume you are running the service mongodb start/stop/restart/status commands as root ?? 我假设您以root 身份运行服务mongodb start / stop / restart / status命令? .. using sudo ? ..使用sudo吗? I get that error if I try to start it as a regular user. 如果尝试以普通用户身份启动它,则会收到该错误。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM