一 问题描述
mongo起不来,日志里有如下报错:
2020-12-29T09:31:29.933+0800 W - [initandlisten] Detected unclean shutdown - /var/lib/mongo/mongod.lock is not empty.
2020-12-29T09:31:29.933+0800 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock Operation not permitted
2020-12-29T09:31:29.933+0800 F - [initandlisten] Fatal Assertion 40486 at src/mongo/transport/transport_layer_asio.cpp 170
二 出错原因
mongo未正常关闭,正常关闭mongo的命令:
use admin
db.shutdownServer()
三 解决办法
删除lock文件,repair数据库,再启动mongo。
mv mongod.lock mongod.lock_bak_20201229
mongod --repair --dbpath /var/lib/mongo
chown -R mongod:mongod /var/lib/mongo #mongod是/var/lib/mongo的属主,请根据自己实际情况修改用户名,如果属主是root,则不用执行该操作。
/usr/bin/mongod -f /etc/mongod.conf