今天在使用mongoDB 的时候发现无法启动, 出现 [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: Connection refused 这种情况,谷歌找了一圈也没找到好的解决方案,查看mongoDB的日志也看不出个什么所以然(希望懂看mongo日志的朋友交流一下)。到最后,我通过重装mongodb的服务解决了问题,以下是解决步骤:
先卸载原有的mongo服务
1、关闭 mongo服务
sudo service mongod stop
或者
sudo systemctl stop mongod
2、删除所有相关软件包
sudo apt-get purge mongodb-org*
3、删除日志记录
sudo rm -r /var/log/mongodb
注意不要删除 /var/lib/mongodb 里面mongo存储的数据!这很重要!
重新安装mongo服务
1.导入包管理系统使用的公钥
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
2.为MongoDB创建一个列表文件,根据版本创建/etc/apt/sources.list.d/mongodb-org-3.4.list 列表文件
Ubuntu 14.04
echo"deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.4 multiverse"| sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
Ubuntu 16.04
echo"deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse"| sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
3.更新本地包数据库
sudo apt-get update
4.安装最新版本的MongoDB
sudo apt-get install -y mongodb-org
5、启动mongoDB服务
sudo systemctl enable mongod
sudo service mongod start
6、查看状态
systemctl status mongod