【问题标题】:MongoDB Catalina: connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017MongoDB Catalina:连接尝试失败:SocketException:连接到 127.0.0.1:27017 时出错
【发布时间】:2019-12-18 11:25:08
【问题描述】:

我刚刚将我的 mac 更新到 Catalina 10.15.2,但我无法运行 MongoDB。

当我发送命令mongo 时,我收到了这条消息

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 :

让 Mongo 工作的唯一方法是重新启动 Mac。

如果我使用命令 ps 检查进程,我看不到进程已经启动,并且端口 27017 可用。

我已经尝试运行以下命令:

brew tap mongodb/brew
brew reinstall mongodb-community
brew services restart mongodb-community

如果我运行以下命令:

ps aux | grep -v grep | grep mongod

没有结果。

我也尝试在mongo 之前运行mongod,结果是:

2019-12-18T12:17:45.916+0100 I  CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2019-12-18T12:17:45.920+0100 I  CONTROL  [initandlisten] MongoDB starting : pid=9375 port=27017 dbpath=/data/db 64-bit host=Marcos-MacBook-Pro.local
2019-12-18T12:17:45.920+0100 I  CONTROL  [initandlisten] db version v4.2.1
2019-12-18T12:17:45.920+0100 I  CONTROL  [initandlisten] git version: edf6d45851c0b9ee15548f0f847df141764a317e
2019-12-18T12:17:45.920+0100 I  CONTROL  [initandlisten] allocator: system
2019-12-18T12:17:45.920+0100 I  CONTROL  [initandlisten] modules: none
2019-12-18T12:17:45.920+0100 I  CONTROL  [initandlisten] build environment:
2019-12-18T12:17:45.920+0100 I  CONTROL  [initandlisten]     distarch: x86_64
2019-12-18T12:17:45.920+0100 I  CONTROL  [initandlisten]     target_arch: x86_64
2019-12-18T12:17:45.920+0100 I  CONTROL  [initandlisten] options: {}
2019-12-18T12:17:45.920+0100 E  NETWORK  [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock Permission denied
2019-12-18T12:17:45.920+0100 F  -        [initandlisten] Fatal Assertion 40486 at src/mongo/transport/transport_layer_asio.cpp 693
2019-12-18T12:17:45.920+0100 F  -        [initandlisten] 

***aborting after fassert() failure

有人可以帮助我吗?我很感激

【问题讨论】:

  • sudo rm /tmp/mongodb-27017.sock,然后重启mongod。

标签: database mongodb macos macos-catalina


【解决方案1】:

解决此 Catalina Mac OS 根和 mongodb 连接问题的替代方法,请执行以下操作:

安装 Homebrew,如果有,请重新安装

在终端中运行以下命令

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew untap mongodb/brew && brew tap mongodb/brew

酿造安装 mongodb-community@4.2

问题是mongo找不到/db/data因为没有目录,所以你必须创建一个:

cd ~(这应该带你到你的Users文件夹)

Users 文件夹通过运行以下命令创建您自己的 db/data 文件夹:

mkdir db & cd 里面db folder

db folder 内运行:mkdir data & cd 在data folder

运行这个命令:mongod --dbpath ~/data/db (在您刚刚创建的Users/data/db/ 文件夹内)

现在打开一个新标签 & 运行:cd ~(将您带回用户)-> 现在运行:cd .. & cd .. again (do this twice) (现在您应该在文件夹中在用户之前

(现在找到tmp folder)cd 进入/tmp folder

删除 sock 文件(这会给您带来连接问题)

运行删除它:rm -rf mongodb-27017.sock

现在运行命令:mongo(现在应该可以使用)

在 mongo shell 内部运行命令:db.verion() 如果您看到一个版本,则说明您的连接有效。

从现在开始,要运行 mongodb 数据库和连接,无论何时要处理项目,您都必须始终打开选项卡

例子: 在一个选项卡中运行命令-> mongod --dbpath ~/data/db (这将启动连接) 在另一个选项卡中运行命令:mongo (这将启动外壳)

这两个都必须运行..

边注: 你不再需要开始 通过运行连接 brew 服务不再启动 mongo-community。

记住mongod --dbpath ~/data/db 基本上是-> 现在是mongod 命令。Mac OS Catalina 更新造成了root 权限问题,这就是为什么以前单独使用mongod 命令从来没有工作过。

希望这对您有所帮助。祝你好运。

【讨论】:

    【解决方案2】:

    在 macOS Big Sur 上遇到了类似的问题。在尝试了上述所有方法后,包括

    • 更新自制软件
    • 重新安装MongoDB、MongoDB社区并设置/System/Volumes/Data/data/dbfolder

    这个命令对我有用mongod --dbpath=/System/Volumes/Data/data/db

    参考:https://medium.com/codespace69/mongodb-troubleshooting-errors-for-beginners-and-macos-catalina-31befd99f6c8

    【讨论】:

      【解决方案3】:
      This error is caused due to ownership issues.
      Here we are changing the ownership to 'mongodb' user.
      
      
      Command 1: deletes the /tmp/mongodb-27017.sock file
      $sudo rm -rf /tmp/mongodb-27017.sock
      
      Command 2: starts mongod service
      $sudo service mongod start
      
      Command 3: shows the file with its ownership details
      ls -lsah /tmp/mongodb-27017.sock
      
      output
      0 srwx------ 1 mongodb mongodb 0 Aug 24 04:01 /tmp/mongodb-27017.sock 
      

      【讨论】:

        【解决方案4】:

        升级到 Catalina 后遇到同样的问题。尝试了很多方法来解决这个问题,最终有帮助的是重新安装 brew,然后按照官方 mongodb 网站上列出的步骤进行操作。

        所以:

        1. 卸载 brew: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)

        2. 再次安装: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

        3. 按照步骤安装和运行 monbo 服务: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/

        【讨论】:

          猜你喜欢
          • 2019-03-18
          • 2018-12-15
          • 1970-01-01
          • 1970-01-01
          • 2014-12-22
          • 2020-04-10
          • 2021-07-01
          • 1970-01-01
          • 2016-08-20
          相关资源
          最近更新 更多