在OSX上安装和运行MongoDB


76

如果有人可以在这里提供一些见解,我将不胜感激。

我是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

我错过了一步吗?我应该创建一个配置文件吗?一些基本的指导将非常有帮助。预先感谢您的任何见解。


您需要运行Mongo Server,而不是Mongo Shell,这是Mongo Shell的错误,该错误仅表示服务器未运行。尝试运行服务器,然后将错误粘贴到此处。
沙2013年

我跑./bin/mongod了就成功了。那么,要重申./bin/mongod一下,启动服务器吗?如何启动外壳?
user2517788 2013年

mongod==数据库服务器,mongo==交互式外壳
WiredPrairie

文档docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x)实际上涵盖了设置和使用Shell。
WiredPrairie

@ user2517788不客气。
沙2013年

Answers:


56

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

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

    ./mongod

  4. 启动您的mongo shell终端

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

    ./mongo测试


13
mongo / bin目录在哪里?
elliotrock

6
@elliotrock哪个蒙古人应该给您这个位置
Nabin

./mongod -f ~/path/to/mongod.conf除非您告知,否则使用MongoDB不会使用配置文件。
杰克

166

如果您已通过安装mongodb,homebrew则只需通过以下方式启动mongodb

brew services start mongodb

然后通过访问外壳

mongo

您可以通过以下方式关闭数据库

brew services stop mongodb

您可以通过以下方式重新启动数据库

brew services restart mongodb

有关更多选项

brew info mongodb

56

更新的答案(9/2/2019):

Homebrew已从其核心存储库中删除了mongodb公式,请参阅此拉取请求

使用Homebrew安装mongodb的新方法如下:

~> brew tap mongodb/brew
~> brew install mongodb-community

安装后,您可以按照以下说明启动mongodb服务:

~> brew info mongodb-community
mongodb/brew/mongodb-community: stable 4.2.0
High-performance, schema-free, document-oriented database
https://www.mongodb.com/
Not installed
From: https://github.com/mongodb/homebrew-brew/blob/master/Formula/mongodb-community.rb
==> Caveats
To have launchd start mongodb/brew/mongodb-community now and restart at login:
  brew services start mongodb/brew/mongodb-community
Or, if you don't want/need a background service you can just run:
  mongod --config /usr/local/etc/mongod.conf

已弃用的答案(8/27/2019):

我认为您正在使用Homebrew。您可以使用查看所需的其他信息brew info $FORMULA

~> brew info mongo                                                           255
mongodb: stable 2.4.6, devel 2.5.1
http://www.mongodb.org/
/usr/local/Cellar/mongodb/2.4.5-x86_64 (20 files, 287M) *
  Built from source
From: https://github.com/mxcl/homebrew/commits/master/Library/Formula/mongodb.rb
==> Caveats
To reload mongodb after an upgrade:
    launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist

安装后需要遵循的警告。


18

这里的问题是您试图打开mongo shell而没有启动正在监听端口127.0.0.1:27017(mongo db的故障)的mongo db,这就是错误的全部原因:

Error: couldn't connect to server 127.0.0.1:27017 at src/mongo/shell/mongo.js:145 exception: connect failed

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

$ mongod --dbpath ~/data/db

注意:这里的dbpath是创建数据/ db目录的“用户/用户”

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

/用户/约翰尼/数据

mongo db启动后。在新窗口中打开另一个终端,然后键入

$ mongo

它会在另一个终端打开mongo db连接的情况下打开mongo shell。


5

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

mongod --dbpath /data/db/ --port 27018

其中,27018是端口,我们希望蒙戈上运行

假设

  1. mongod存在于您的bin中,即/usr/local/bin/用于mac(如果与brew一起安装,则为Mac),否则您需要导航到mongo的安装路径
  2. 该文件夹/data/db/存在

5

Mac安装:

  1. 安装brew

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

    brew update
    brew doctor
    
  3. 用以下命令安装mongodb

    brew install mongodb
    
  4. 为mongo数据文件创建文件夹:

    mkdir -p /data/db
    
  5. 设定权限

    sudo chown -R `id -un` /data/db
    
  6. 打开另一个终端窗口并运行并继续运行mongo服务器/守护程序

    mongod
    
  7. 返回上一个终端并运行mongodb shell来访问数据

    mongo
    

要稍后退出所有这些:

  1. 贝壳:

    quit()
    
  2. 服务器

    ctrl-c
    

4
mongo => mongo-db console
mongodb => mongo-db server

如果您使用的是Mac,并且正在寻找一种启动/停止mongo-db服务器的简便方法,那么您应该研究一下MongoDB Preference Pane。使用它,您可以通过UI启动/停止mongo-db实例。希望能帮助到你!


3

确保您以root用户身份在终端中登录。

在Mac中启动mongodb服务器的步骤

  1. 开放终端
  2. 运行命令 sudo su
  3. 输入您的管理员密码
  4. 运行命令 mongod
  5. MongoDb服务器启动

希望对您有帮助。谢谢


3

对于那些可能面临相同问题且上面建议的解决方案不起作用的应用程序,例如,在我的情况下,我已经安装了mongodb-community,因此您可能想运行以下命令来重新启动mongo服务器。

对于使用brew安装mongodb-community的用户

brew services start mongodb-community


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.