mongo 报错:Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js

 

使用 brew 安装的mongo :

启动:

brew services start mongodb

重启:

brew services restart mongodb

关闭: 

brew services stop mongodb

在启动 mongodb 时 报错 :Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js。

sunct@localhost  ~  brew services start mongodb
==> Successfully started `mongodb` (label: homebrew.mxcl.mongodb)
 sunct@localhost  ~  mongo
MongoDB shell version v4.0.3
connecting to: mongodb://127.0.0.1:27017
2019-05-17T15:25:46.074+0800 E QUERY    [js] 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:257:13
@(connect):1:6
exception: connect failed

解决办法:

1、若数据库出现如上不能连接的原因,可能是data目录下的mongod.lock文件问题。

brew 安装的mongo 文件在 /usr/local/Cellar/ 文件下:

cd /usr/local/Cellar/mongodb

 根据自己的版本进入bin目录,我的mongo版本是 4.0.3_1

cd /usr/local/Cellar/mongodb/4.0.3_1/bin

可以用如下命令修复:

mongod --repair

如果还是报错, 直接删除mongod.lock试试。

rm -f /usr/local/var/mongodb/mongod.lock

然后再启动mongodb,如果还是不行,看第二种方法。


2、如果第一步解决不了,那么就是路径设置有问题,通过重新对路径的设置解决此问题

不知道路径在那,可以 :

cd /usr/local/etc

cat mongod.conf

可以看到配信息,前面我们删除mongod.lock已经使用到 dbPath路径。如果 mongod.conf配置文件不存在则手动创建一个。 

文件内容可以根据自己的路径情况自己指定。

我的文件内容如下: 

systemLog:
  destination: file
  path: /usr/local/var/log/mongodb/mongo.log
  logAppend: true
storage:
  dbPath: /usr/local/var/mongodb
  journal:
  enabled: true
net:
  bindIp: 127.0.0.1

然后执行:

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

这表示启动成功!在新的命令窗口执行 mongo

另外,电脑重启后,启动mongo再出现类似情况怎么办?

根据自己的路径,写个shell脚本吧:

#!/bin/bash
mongod -dbpath "/usr/local/var/mongodb" -fork -logpath "/usr/local/var/log/mongodb/mongo.log"

以后再使用mongo的时候直接运行脚本即可。

先关闭当前服务,再执行脚本:

完美! 

也可以连接界面话工具:

接下来就可以愉快的玩耍了,给test表插入一条数据:

use test

db.test.insert({title: 'MySQL 教程', 
    description: 'MySQL 是一个 关系型 数据库',
    by: '我的教程',
    url: 'http://www.runoob.com',
    tags: ['MySQL', 'database', 'SQL'],
    likes: 200
})

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值