MongoDB报错 -【已解决】:Error: couldn‘t connect to server 127.0.0.1:27017, connection attempt failed:


大家好,我是 哈士奇 ,一位工作了十年的"技术圈混子", 致力于为开发者赋能的UP主, 目前正在运营着 TFS_CLUB社区。


如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步
人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。
如果感觉博主的文章还不错的话,还请 关注、点赞、收藏三连支持 一下博主哦
CSDN博客专家认证、新星计划第三季全栈赛道MVP 、华为云享专家、阿里云专家博主

专栏系列(点击解锁) 学习路线(点击解锁) 知识定位
Python全栈白皮书 零基础入门篇 以浅显易懂的方式轻松入门,让你彻底爱上Python的魅力。
语法进阶篇 主要围绕多线程编程、正则表达式学习、含贴近实战的项目练习 。
自动化办公篇 实现日常办公软件的自动化操作,节省时间、提高办公效率。
自动化测试实战篇 从实战的角度出发,先人一步,快速转型测试开发工程师。
数据库开发实战篇 掌握关系型与非关系数据库知识,提升数据库实战开发能力。
爬虫入门与实战 更新中
数据分析篇 更新中
前端入门+flask 全栈篇 更新中
django+vue全栈篇 更新中
拓展-人工智能入门 更新中
网络安全之路 踩坑篇 记录学习及演练过程中遇到的坑,便于后来居上者
网安知识扫盲篇 三天打鱼,不深入了解原理,只会让你成为脚本小子。
vulhub靶场漏洞复现 让漏洞复现变得简单,让安全研究者更加专注于漏洞原理本身。
shell编程篇 不涉及linux基础,最终案例会偏向于安全加固方向。 [待完结]
WEB漏洞攻防篇 2021年9月3日停止更新,转战先知社区等安全社区及小密圈
渗透工具使用集锦 2021年9月3日停止更新,转战先知社区等安全社区及小密圈
点点点工程师 测试神器 - Charles 软件测试数据包抓包分析神器
测试神器 - Fiddler 一文学会 fiddle ,学不会倒立吃翔,稀得!
测试神器 - Jmeter 不仅是性能测试神器,更可用于搭建轻量级接口自动化测试框架。
RobotFrameWork Python实现的自动化测试利器,该篇章仅介绍UI自动化部分。
Java实现UI自动化 文档写于2016年,Java实现的UI自动化,仍有借鉴意义。
MonkeyRunner 该工具目前的应用场景已不多,文档已删,为了排版好看才留着。

文章目录

  • ❤️‍ 项目场景
  • ❤️‍ 原因分析
  • ❤️‍ 解决方案
  • ❤️‍ 关闭/退出 mongod 连接



❤️‍ 项目场景


  • 前言:该报错出现在 "MongoDB 数据库已经安装完成,但是在启动、连接的时候出现的报错。"

  • 安装过程:〖Python 数据库开发实战 - MongoDB篇②〗- Mac环境下的MongoDB数据库安装

  • 在利用 Homebrew 安装上 MongoDB 数据库之后,通过正常的 mongod 启动 MongoDB 数据库 ,再利用 mongo 启动默认的 MongoDB shel

  • 出现了如下报错


MongoDB shell version v4.4.16
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:374:17
@(connect):2:6
exception: connect failed
exiting with code 1

MongoDB报错 -【已解决】:Error: couldn‘t connect to server 127.0.0.1:27017, connection attempt failed:_第1张图片


❤️‍ 原因分析


  • 造成这个问题的原因有两个:
    • 第一个原因:在没有启动 mongodb 数据库的情况下,就运营了 mongo 命令,势必是无法连接上 MongoDB 数据库的。
    • 第二个原因:已经启动 mongodb 数据库,但是因为保存数据存放路径是默认的 /usr/local/var/mongodb 原因造成的。

  • 关于第一个原因很好解决,就是启动 mongodb 数据库即可,启动方式有三种,如下:
    • brew services start [email protected] ; 运行该命令启动 mongodb 数据库之后,执行 mongo 命令即可。
    • mongod [如果是配置了环境变量的情况下,在任意路径下,都可通过 mongod 启动];运行该命令启动 mongodb 数据库之后,执行 mongo 命令即可。 [前提条件,mongo 也配置了环境变量。]
    • cd /usr/local/opt/[email protected]/bin/ [进入到 mongodb 数据库的 bin 目录下,执行 mongod 启动 mongodb 数据库];运行该命令启动 mongodb 数据库之后,切换新的 tab 终端页面,进入到该路径下 ,执行 mongo 命令即可。

MongoDB报错 -【已解决】:Error: couldn‘t connect to server 127.0.0.1:27017, connection attempt failed:_第2张图片


❤️‍ 解决方案


这里的解决方案,主要是针对上述的第二种情况,针对第二种情况,其实也很简单,就是在运行 mongod 命令启动 “MongoDB数据库” 的时候指定 “数据存放路径” 即可。

比如默认的 数据存放路径 是 : /usr/local/var/mongodb/ ,我们在 /usr/local/var/mongodb/ 路径下使用 mkdir db 命令创建一个 db 文件夹。

在启动 “MongoDB数据库” 的时候,指定 /usr/local/var/mongodb/db 即可。命令如下:


 mongod --dbpath /usr/local/var/mongodb/db

MongoDB报错 -【已解决】:Error: couldn‘t connect to server 127.0.0.1:27017, connection attempt failed:_第3张图片

启动 “MongoDB数据库” 之后,另起一个终端窗口,执行 mongo 命令即可。 [前提条件,mongo 也配置了环境变量,如果没有配置 mongo 变量]


MongoDB报错 -【已解决】:Error: couldn‘t connect to server 127.0.0.1:27017, connection attempt failed:_第4张图片

PS:需要注意的是,这种运行方式,mongod --dbpath /usr/local/var/mongodb/db 的终端页面,是不能关闭的,否则会失去另一个 tab 终端页面 mongo 的连接。



❤️‍ 关闭/退出 mongod 连接


当 执行 mongo 命令 进入到 mongo shell 之后,使用 use admin 切换到 admin 表之后,执行 db.adminCommand({ "shutdown" : 1 }) 即可退出mongod 连接。


MongoDB报错 -【已解决】:Error: couldn‘t connect to server 127.0.0.1:27017, connection attempt failed:_第5张图片


你可能感兴趣的:(#,⑤,-,数据库开发实战篇,踩坑篇,-,记录各种踩的坑,mongodb,数据库,MongoDB报错)