修复mongodb启动失败问题

启动mongodb的时候遇到了以下几个问题,我在此处给出我的一些解决方法。

注意我的方法中的大部分命令在root权限下才能生效,所以建议修复数据库时使用root用户。

service mongodb start 失败

status显示failed

root@machine ~ # service mongod start
root@machine ~ # service mongod status
● mongod.service - High-performance, schema-free document-oriented database
   Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Tue 2017-08-15 12:03:51 CEST; 2s ago
     Docs: https://docs.mongodb.org/manual
  Process: 26942 ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, status=100)
 Main PID: 26942 (code=exited, status=100)

Aug 15 12:03:50 machine systemd[1]: Started High-performance, schema-free document-oriented database.
Aug 15 12:03:51 machine systemd[1]: mongod.service: Main process exited, code=exited, status=100/n/a
Aug 15 12:03:51 machine systemd[1]: mongod.service: Unit entered failed state.
Aug 15 12:03:51 machine systemd[1]: mongod.service: Failed with result 'exit-code'.

修复方法:

cd 到/var/lib/mongodb 文件夹下(我也不知道为什么非要cd到这个文件夹下,但是事实证明需要到这个目录下才行)

chown -R mongodb:mongodb /var/lib/mongodb

然后重启mongodb服务。

 

mongod 启动失败:进程占用
 

# cut 截取第9至15字符(进程id),列出了要kill掉这些进程的id

lsof -i:端口号 | cut -c 9-15 | xargs kill -9

 

mongod 启动失败:服务被锁lock

删除 /var/lib/mongodb 文件加下的mongd.lock

rm /var/lib/mongodb/mongod.lock

mongod 启动失败:Too many open files

错误回显:[initandlisten] Listener: accept() returns -1 errno:24 Too many open files 

关闭一直尝试连接你数据库的机器,重启mongodb,同时不要忘了rm .lock文件

猜你喜欢

转载自blog.csdn.net/qq_41420747/article/details/82988472