ITPub博客

首页 > 数据库 > > Mongodb——mongo连接时候connection attempt failed

Mongodb——mongo连接时候connection attempt failed

作者:浪花小雨滴 时间:2020-05-12 11:50:09 0 删除 编辑

前言:

打开一个终端,想进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=
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

排查关键信息: 29 Data directory /data/db not found.说是数据库没找到,这时候还请保持冷静不建议立马按照其他人思路马上创建/data/db目录,还需要接着排查,有人会疑问问什么接着排查不是很清晰了吗?为什么需要继续排查,然后反问一下既然不是第一次登录,这台机器上mongo数据库中历史数据是否还需要?为什么之前使用时候没有创建/data/db?如果不需要或者就是忘了创建或者没登录过,根据需要创建后启动即可;如果需要历史数据,也不明白之前为什么没有创建请继续排查;安全第一;

总结下继续排查的原因,第一历史数据,第二机器规划原因(任何目录下都可以存储,但是企业数据库一般都会进行规划,否则后期维护挂载新的硬盘会很忧伤)

1、先查看是否确实不存在

ls /data/db

2、尝试查看安装mongodb的配置文件,看配置文件如何配置的;

原因:就算你马上创建/data/db文件夹启动成功后,这时候是新配置连接上去你的历史数据大概率会找不到;

由于我不记得配置文件放在了哪里,先进行配置文件的模糊查找:

find / -name *mongod.conf

根据找到的结果打开配置文件查看文件中db-path配置项,那下边肯定是你数据库存储位置,

所以不必瞎忙创建一个data/db,也许之前出于内存规划考虑就没存在系统data/db目录下;

排查结束,使用配置文件再次启动就可以解决以上所有问题;

mongod --config /usr/local/etc/mongod.conf
#后边路径修改成自己的配置文件即可;

以上不排除有人误删/data/db,配置文件中写的就是这个路径那你大可以创建然后chmod授权后使用配置文件启动;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31537575/viewspace-3152744/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-05-16

  • 博文量
    4259
  • 访问量
    39893