欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

repair and boot mongodb on centos

程序员文章站 2022-05-07 22:55:28
...

When I somehow login and logout my linode vps where I start the service of mongodb for some times, then I got these errors: # service mongod startStarting mongod: Wed Oct 30 01:28:42.557Wed Oct 30 01:28:42.558 warning: 32-bit servers don't

When I somehow login and logout my linode vps where I start the service of mongodb for some times, then I got these errors:

# service mongod start
Starting mongod: Wed Oct 30 01:28:42.557
Wed Oct 30 01:28:42.558 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
Wed Oct 30 01:28:42.558
about to fork child process, waiting until server is ready for connections.
forked process: 6873
all output going to: /var/log/mongo/mongod.log
ERROR: child process failed, exited with error number 100
                                                       [FAILED]

So, after googling, I find the reason:

Unclean shutdown detected.
Please visit http://dochub.mongodb.org/core/repair for recovery instructions.

How to resolve it?

First, kill the process if it exists

ps -ef | grep mongo*
ps -ef | grep mongod
kill -9 pid

Second, remove the lock file for mongodb

rm -rf /var/lib/mongo/mongod.lock

Third, boot it with repair mode

mongod -f /etc/mongod.conf --repair

Forth, boot again without repair mode

mongod -f /etc/mongod.conf

Now we can check if the mongodb process is running:

ps -ef | grep mongo*
ps -ef | grep mongod

And try it: mongo

Done!