在OSX上安装和运行MongoDB

use*_*788 70 database macos shell mongodb node.js

如果有人可以提供一些见解,我会非常感激.

我是MongoDB的新手,并且(相对)是命令行的新手.

我成功地在MongoDB上运行了一个express/node.js应用程序,但是在重新启动计算机时,我尝试重新启动Mongo服务器,它开始出错并且无法启动.从那时起,我已经多次重新安装Mongo才发现发生了同样的错误.这是我收到的:

privee:mongodb-osx-x86_64-2.4.6 jonlinton$ ./bin/mongo
MongoDB shell version: 2.4.6
connecting to: test
Mon Aug 26 14:48:47.168 Error: couldn't connect to server 127.0.0.1:27017 at     src/mongo/shell/mongo.js:145
exception: connect failed
Run Code Online (Sandbox Code Playgroud)

我错过了一步吗?我应该创建配置文件吗?一些基本指导会非常有帮助.提前感谢任何见解.

gau*_*roy 162

如果您已经安装了mongodb,homebrew那么您只需启动mongodb即可

brew services start mongodb
Run Code Online (Sandbox Code Playgroud)

然后通过访问shell

mongo
Run Code Online (Sandbox Code Playgroud)

你可以关闭你的数据库

brew services stop mongodb
Run Code Online (Sandbox Code Playgroud)

您可以重新启动数据库

brew services restart mongodb
Run Code Online (Sandbox Code Playgroud)

有更多选择

brew info mongodb
Run Code Online (Sandbox Code Playgroud)


小智 54

假设您在安装后在bin下创建了data/db目录.

  1. 启动mongo服务器的终端
  2. 转到<mongodb-install-directory>/bin目录
  3. 运行命令

    ./mongod

  4. 为你的mongo shell启动一个终端

  5. 转到<mongodb-install-directory>/bin目录
  6. 运行命令(确保放入数据库的名称)

    ./mongo测试

  • mongo/bin目录在哪里? (12认同)
  • @elliotrock __which modod__应该给你的位置 (6认同)

Rix*_*Rix 46

我假设你使用的是Homebrew.您可以查看所需的其他信息brew info $FORMULA

~> brew tap mongodb/brew
~> brew install mongodb-community
Run Code Online (Sandbox Code Playgroud)

注意事项是安装后需要遵循的.


sec*_*nes 18

这里的问题是你试图打开一个mongo shell而不启动一个mongo db,它正在侦听端口127.0.0.1:27017(对于mongo db来说是deafault),这就是错误的全部内容:

Error: couldn't connect to server 127.0.0.1:27017 at src/mongo/shell/mongo.js:145 exception: connect failed
Run Code Online (Sandbox Code Playgroud)

最简单的解决方案是打开终端并输入

$ mongod --dbpath ~/data/db
Run Code Online (Sandbox Code Playgroud)

注意:这里的dbpath是"Users/user",其中创建了data/db目录

即,您需要在用户文件夹中创建目录数据和子目录db.比如说``

/用户/约翰尼/数据

mongo db启动后.在新窗口中打开另一个终端并键入

$ mongo
Run Code Online (Sandbox Code Playgroud)

它会打开mongo shell,你的mongo数据库连接在另一个终端打开.


小智 8

对于那些可能面临同样问题并且上面建议的解决方案不起作用的人,例如在我的例子中,我已经安装了 mongodb-community,因此您可能需要运行下面的命令来重新启动 mongo 服务器。

对于那些使用brew安装了mongodb-community的人

brew services start mongodb-community


jas*_*ard 7

Mac 安装:

  1. 安装 brew

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
    Run Code Online (Sandbox Code Playgroud)
  2. 更新并验证您是否擅长

    brew update
    brew doctor
    
    Run Code Online (Sandbox Code Playgroud)
  3. 安装mongodb

    brew install mongodb
    
    Run Code Online (Sandbox Code Playgroud)
  4. 为 mongo 数据文件创建文件夹:

    mkdir -p /data/db
    
    Run Code Online (Sandbox Code Playgroud)
  5. 设置权限

    sudo chown -R `id -un` /data/db
    
    Run Code Online (Sandbox Code Playgroud)
  6. 打开另一个终端窗口并运行并继续运行 mongo 服务器/守护进程

    mongod
    
    Run Code Online (Sandbox Code Playgroud)
  7. 返回上一个终端并运行 mongodb shell 来访问数据

    mongo
    
    Run Code Online (Sandbox Code Playgroud)

稍后退出这些:

  1. 贝壳:

    quit()
    
    Run Code Online (Sandbox Code Playgroud)
  2. 服务器

    ctrl-c
    
    Run Code Online (Sandbox Code Playgroud)


Edw*_*kwu 5

此外,您可能希望 mongo 在另一个端口上运行,然后将此命令粘贴到终端上,

mongod --dbpath /data/db/ --port 27018
Run Code Online (Sandbox Code Playgroud)

其中27018是我们希望 mongo 运行的端口

假设

  1. mongod 存在于你的 bin 中,即/usr/local/bin/对于 mac(如果你用 brew 安装的话),否则你需要导航到安装 mongo 的路径
  2. 文件夹/data/db/存在