前言:
打开一个终端,想进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
当尝试连接MongoDB时遇到错误'connection attempt failed',通过检查本地服务发现MongoDB未运行。错误信息提示data directory '/data/db'不存在。解决方法是创建该目录或指定正确的数据目录,并使用配置文件启动MongoDB,以保持历史数据完整。
1812

被折叠的 条评论
为什么被折叠?



