【问题标题】:Error when I run $ mongo with $mongod使用 $mongod 运行 $ mongo 时出错
【发布时间】:2016-07-06 14:50:51
【问题描述】:

编辑:我找到了答案并将其发布在下面。

尝试运行 mongo 但遇到了一些问题。

在创建了一个从 bin/mongo(d) 到 usr/local/bin/mongo(d) 的符号链接“sudo ln s”之后我做了什么:

$ export PATH=$PATH:/Users/<user>/downloads/mongodb/bin

$ sudo ln -s ~/downloads/mongodb/bin/mongod /usr/local/bin/mongod

$ sudo ln -s ~/downloads/mongodb/bin/mongod /usr/local/bin/mongo

现在当我跑步时:

$ mongo --version

输出:

MongoDB shell version: 3.0.10

当我跑步时:

$ mongod --dbpath ~/data/db/

它运行 MongoDB 核心服务器并等待端口 27017 上的连接

在运行服务器时,我在终端中打开了一个新选项卡。我跑:

$ mongo

并在它运行和退出时收到此消息。

I CONTROL  [initandlisten] allocator: system
I CONTROL  [initandlisten] options: {}
E NETWORK  [initandlisten] listen(): bind() failed errno:48 Address already in use for socket: 0.0.0.0:27017
E NETWORK  [initandlisten]   addr already in use
I STORAGE  [initandlisten] exception in initAndListen: 29 Data directory /data/db not found., terminating
I CONTROL  [initandlisten] dbexit:  rc: 100

如何让 mongo shell 运行?

答案:

我用 ln -s 创建了错误的符号链接。我将 mongod 链接到 mongo 和 mongod。取消链接并正确链接它们。然后我做了: export PATH=/bin:$PATH

【问题讨论】:

  • 如果您在运行mongo 时获得该输出,那么您实际上是符号链接到mongod,因为这是数据库实例输出,而不是来自shell 的输出。
  • 跑:取消链接/usr/local/bin/mongo。然后我跑了: $ sudo ln -s ~/downloads/mongodb/bin/mongo /usr/local/bin/mongo.现在它显示: -bash: /usr/local/bin/mongo: no such file or directory
  • 您应该回答您自己的问题,而不是编辑您的问题并将答案包含在您的问题中。

标签: mongodb shell unix path symlink


【解决方案1】:

我找到了一个更好的解决这个问题的方法。

根目录中的第一个 mkdir /data/db:

$ sudo bash

$ mkdir -p /data/db/

$ chmod 777 /data
$ chmod 777 /data/db

然后只需 cd 到 MongoDB 下载的 BIN 目录,然后执行:

$ sudo bash

$ cp * /usr/local/bin

现在你可以运行 $ mongod 和 $ mongo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-09
    • 2014-10-05
    • 2015-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-31
    • 1970-01-01
    相关资源
    最近更新 更多