安装和 运行 MongoDB - Mac 上有很多错误

Installing and Running MongoDB - Many Errors on Mac

我正在尝试在我的 Mac 上安装 mongoDB。但是,我 运行 遇到了很多问题。

我首先使用 Homebrew 安装 mongoDB 运行 执行以下命令:

brew tap mongodb/brew

brew install mongodb-community@4.2

然后运行它使用:

brew services start mongodb-community@4.2

此时一切看起来都很好,直到我在终端中尝试 运行ning:

mongod

起初我以为问题是我没有创建 /data/db 文件夹,所以我 运行:

sudo mkdir -p /data/db

这没有用。

然后我发现一篇文章说 Mac 用户需要 运行:

sudo mkdir -p /System/Volumes/Data/data/db

这有效.. 然后我 运行:

mongod --dbpath /System/Volumes/Data/data/db

并收到以下内容:

2020-02-09T20:36:07.667-0500 I  CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2020-02-09T20:36:07.672-0500 I  CONTROL  [initandlisten] MongoDB starting : pid=65406 port=27017 dbpath=/System/Volumes/Data/data/db 64-bit host=user-MacBook-Pro.local
2020-02-09T20:36:07.672-0500 I  CONTROL  [initandlisten] db version v4.2.3
2020-02-09T20:36:07.672-0500 I  CONTROL  [initandlisten] git version: 6874650b362138df74be53d366bbefc321ea32d4
2020-02-09T20:36:07.672-0500 I  CONTROL  [initandlisten] allocator: system
2020-02-09T20:36:07.672-0500 I  CONTROL  [initandlisten] modules: none
2020-02-09T20:36:07.672-0500 I  CONTROL  [initandlisten] build environment:
2020-02-09T20:36:07.672-0500 I  CONTROL  [initandlisten]     distarch: x86_64
2020-02-09T20:36:07.672-0500 I  CONTROL  [initandlisten]     target_arch: x86_64
2020-02-09T20:36:07.672-0500 I  CONTROL  [initandlisten] options: { storage: { dbPath: "/System/Volumes/Data/data/db" } }
2020-02-09T20:36:07.673-0500 E  STORAGE  [initandlisten] Failed to set up listener: SocketException: Address already in use
2020-02-09T20:36:07.673-0500 I  CONTROL  [initandlisten] now exiting
2020-02-09T20:36:07.673-0500 I  CONTROL  [initandlisten] shutting down with code:48

我试过了运行宁:

sudo chown -Rv user /System/Volumes/Data/data/db

mongod

然后收到以下内容:

2020-02-09T20:36:52.247-0500 I  CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2020-02-09T20:36:52.249-0500 I  CONTROL  [initandlisten] MongoDB starting : pid=65410 port=27017 dbpath=/data/db 64-bit host=user-MacBook-Pro.local
2020-02-09T20:36:52.249-0500 I  CONTROL  [initandlisten] db version v4.2.3
2020-02-09T20:36:52.249-0500 I  CONTROL  [initandlisten] git version: 6874650b362138df74be53d366bbefc321ea32d4
2020-02-09T20:36:52.249-0500 I  CONTROL  [initandlisten] allocator: system
2020-02-09T20:36:52.249-0500 I  CONTROL  [initandlisten] modules: none
2020-02-09T20:36:52.249-0500 I  CONTROL  [initandlisten] build environment:
2020-02-09T20:36:52.249-0500 I  CONTROL  [initandlisten]     distarch: x86_64
2020-02-09T20:36:52.249-0500 I  CONTROL  [initandlisten]     target_arch: x86_64
2020-02-09T20:36:52.249-0500 I  CONTROL  [initandlisten] options: {}
2020-02-09T20:36:52.250-0500 E  STORAGE  [initandlisten] Failed to set up listener: SocketException: Address already in use
2020-02-09T20:36:52.250-0500 I  CONTROL  [initandlisten] now exiting
2020-02-09T20:36:52.250-0500 I  CONTROL  [initandlisten] shutting down with code:48

对于 SocketException,我试过:

mongod --port 27018

并收到:

2020-02-09T20:37:39.191-0500 I  CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2020-02-09T20:37:39.195-0500 I  CONTROL  [initandlisten] MongoDB starting : pid=65414 port=27018 dbpath=/data/db 64-bit host=user-MacBook-Pro.local
2020-02-09T20:37:39.195-0500 I  CONTROL  [initandlisten] db version v4.2.3
2020-02-09T20:37:39.195-0500 I  CONTROL  [initandlisten] git version: 6874650b362138df74be53d366bbefc321ea32d4
2020-02-09T20:37:39.195-0500 I  CONTROL  [initandlisten] allocator: system
2020-02-09T20:37:39.195-0500 I  CONTROL  [initandlisten] modules: none
2020-02-09T20:37:39.195-0500 I  CONTROL  [initandlisten] build environment:
2020-02-09T20:37:39.195-0500 I  CONTROL  [initandlisten]     distarch: x86_64
2020-02-09T20:37:39.195-0500 I  CONTROL  [initandlisten]     target_arch: x86_64
2020-02-09T20:37:39.195-0500 I  CONTROL  [initandlisten] options: { net: { port: 27018 } }
2020-02-09T20:37:39.196-0500 I  STORAGE  [initandlisten] exception in initAndListen: NonExistentPath: Data directory /data/db not found., terminating
2020-02-09T20:37:39.196-0500 I  NETWORK  [initandlisten] shutdown: going to close listening sockets...
2020-02-09T20:37:39.196-0500 I  -        [initandlisten] Stopping further Flow Control ticket acquisitions.
2020-02-09T20:37:39.196-0500 I  CONTROL  [initandlisten] now exiting
2020-02-09T20:37:39.196-0500 I  CONTROL  [initandlisten] shutting down with code:100

我似乎无法弄清楚发生了什么,因为我一直在按照我在 Whosebug 上找到的所有步骤从其他人那里找到这个确切的问题。

在进行更多研究并查看上面的评论后,似乎在通过自制程序安装 MongoDB 时,您将使用以下命令:

brew services start mongodb-community

然后在新标签页中:

mongo

这将 mongo 成功启动。我仍然不能 100% 确定为什么 mongod 会返回错误,但据我所知,上述方法有效。