Mongodb——mongo连接时候connection attempt failed

当尝试连接MongoDB时遇到错误'connection attempt failed',通过检查本地服务发现MongoDB未运行。错误信息提示data directory '/data/db'不存在。解决方法是创建该目录或指定正确的数据目录,并使用配置文件启动MongoDB,以保持历史数据完整。

前言:

      打开一个终端,想进mongodb看看,mongo连接时候给我报了连接失败了,我是在安装mongodb的终端上,竟然有人可以阻止我连接自己的mongodb,于是一番排查小记一下过程和结果:

报错内容:

2019-11-09T10:56:56.226+0800 W NETWORK  [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: Connection refused
2019-11-09T10:56:56.227+0800 E QUERY    [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:240:13
@(connect):1:6
exception: connect failed

问题排查思路:

      内容很清晰名了就是连接失败,简短的5行信息,没太找到有用的价值,至于src/mongo/shell/mongo.js我觉得现在还不是查看的时候;首先我先检查下本地是否有mongodb服务,都说连接不上了,先看看服务还在不在,查看服务后好吧果然服务不在了,好吧,这个问题找到原因了,一个:

sudo server mongod start

顺手打了出来,然后悲剧了,新的报错来了:

2019-11-09T10:58:15.313+0800 I CONTROL  [initandlisten] MongoDB starting : pid=2357 port=27017 dbpath=/data/db 64-bit host=xxxxxxxx
2019-11-09T10:58:15.314+0800 I CONTROL  [initandlisten] db version v3.4.18
2019-11-09T10:58:15.314+0800 I CONTROL  [initandlisten] git version: 4410706bef6463369ea2f42399e9843903b31923
2019-11-09T10:58:15.314+0800 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2s  28 May 2019
2019-11-09T10:58:15.314+0800 I CONTROL  [initandlisten] allocator: system
2019-11-09T10:58:15.314+0800 I CONTROL  [initandlisten] modules: none
2019-11-09T10:58:15.314+0800 I CONTROL  [initandlisten] build environment:
2019-11-09T10:58:15.314+0800 I CONTROL  [initandlisten]     distarch: x86_64
2019-11-09T10:58:15.314+0800 I CONTROL  [initandlisten]     target_arch: x86_64
2019-11-09T10:58:15.314+0800 I CONTROL  [initandlisten] options: {}
2019-11-09T10:58:15.316+0800 I STORAGE  [initandlisten] exception in initAndListen: 29 Data directory /data/db not found., terminating
2019-11-09T10:58:15.316+0800 I NETWORK  [initandlisten] shutdown: going to close listening sockets...
2019-11-09T10:58:15.316+0800 I NETWORK  [initandlisten] shutdown: going to flush diaglog...
2019-11-09T10:58:15.317+0800 I CONTROL  [initandlisten] now exiting
2019-11-09T10:58:15.317+0800 I CONTROL  [initandlisten] shutting down with code:100

HOST配置我和谐了下,其它的无非就是相关依赖版本检查,没啥的,然后关注下exception in initAndListen: 29 Data directory /data/db not found., terminating 这条信息特别重要,一拍脑袋,哦数据库配置文件目录都找不到拿啥启动,果断:

#先查看是否确实不存在
ls /data/db

#尝试查看安装mongodb的配置文件,看配置文件如何配置的;
原因:就算你马上创建/data/db文件夹启动成功后,这时候是新配置连接上去你的历史数据大概率会找不到;
由于我不记得配置文件放在了哪里,先进行查找
find / -name *mongod.conf

根据找到的结果打开配置文件查看文件中db-path配置项,那下边肯定是你数据库存储位置,
所以不必瞎忙创建一个data/db,也许之前出于内存规划考虑就没存在系统data/db目录下


排查完毕,果断使用带配置文件参数启动mongodb即可,这样历史数据还不会丢失;

#后边修改你的配置文件即可,
当然也可能配置文件说数据库就在/data/db中后期被人误删那就怪不得别人了,老实创建然后重启即可
mongod --config /usr/local/etc/mongod.conf

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值