1. 报错如下:
root@instance-myaj5rsw:~# service mongodb restart
stop: Unknown instance:
mongodb start/running, process 1844
root@instance-myaj5rsw:~# mongo
MongoDB shell version: 3.0.1
connecting to: test
2018-09-13T10:14:54.896+0800 W NETWORK Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2018-09-13T10:14:54.897+0800 E QUERY Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed
at connect (src/mongo/shell/mongo.js:179:14)
at (connect):1:6 at src/mongo/shell/mongo.js:179
exception: connect failed
2. 解决办法:
a、首先删除/var/lib/mongo/目录下的mongod.lock文件,再查找别的文件夹下的mongod.lock都删掉,具体命令如下:
root@instance-myaj5rsw:~# find ./ -name "mongod.lock"
./temp/cloudweb/mongodb/mongod.lock
root@instance-myaj5rsw:~/temp/cloudweb/mongodb# rm -rf mongod.lock
root@instance-myaj5rsw:~/temp/cloudweb/mongodb# cd /
root@instance-myaj5rsw:/# find ./ -name "mongod.lock"
./var/lib/mongodb/mongod.lock
./var/lib/mongodb_bak/mongod.lock
root@instance-myaj5rsw:/# cd /var/lib/mongo/
root@instance-myaj5rsw:/var/lib/mongodb# rm -rf mongod.lock
b、已repair方式启动mongodb,具体命令如下:
root@instance-myaj5rsw:/var/lib/mongodb# mongod -f /etc/mongod.conf --repair
root@instance-myaj5rsw:/var/lib/mongodb# mongod -f /etc/mongod.conf
d、查看进程,如果存在mongodb进程,即代表修复成功,具体命令如下:
root@instance-myaj5rsw:~# ps -ef | grep mongo
root 2204 1811 0 10:19 pts/0 00:00:00 mongod -f /etc/mongod.conf
root 2248 2026 0 10:19 pts/2 00:00:00 grep --color=auto mongo
3. 可以开始使用mongodb了
MongoDB shell version: 3.0.1
connecting to: test
>
补充:关闭mongod -f /etc/mongod.conf命令后,mongo要是自动断掉的话,可以启动一个后台运行
root@instance-myaj5rsw:/var/lib/mongodb_bak# mongod -f /etc/mongod.conf >> ./mongod.log 2>&1 &
参考链接: