我重新安装了Mac上的MongoDB。尝试不使用brew来进行安装并记录了一下
我打算将这个作为圣诞节日历的主题!@n0bisuke 在此!

背景 – 背景的情况
这是关于我想在Node.js中使用数据库的故事。一开始我考虑了MongoDB这个简单的想法(之后还想写下选择的理由)。于是我安装了通过brew安装的MongoDB,但是发现它的版本太低了,所以我卸载了它并重新进行了二进制安装。
如果使用brew来做的话
基本上请参考此处以安装MongoDB。

目前的安装状态是2.4.9。
一眨眼的功夫。
$ brew install mongodb
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/mongodb-2.4.9.mav
######################################################################## 100.0%
==> Pouring mongodb-2.4.9.mavericks.bottle.2.tar.gz
==> Caveats
To have launchd start mongodb at login:
ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
Then to load mongodb now:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Or, if you don't want/need launchctl, you can just run:
mongod --config /usr/local/etc/mongod.conf
==> Summary
? /usr/local/Cellar/mongodb/2.4.9: 391 files, 302M
$mongod --version
db version v2.4.9
根据最新的信息,似乎是2.6。
重新安装
卸载brew中的mongodb。
$ mongod --version
db version v2.4.9
Mon Dec 1 18:29:56.774 git version: nogitversion
$ brew uninstall mongodb
Uninstalling /usr/local/Cellar/mongodb/2.4.9...
$ mongod --version
-bash: /usr/local/bin/mongod: No such file or directory
#アンインストールされましたね
从二进制安装
如果直接拿来的话
或者
如果从命令行执行的情况下
$ brew install wget
$ wget https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-2.6.5.tgz
$ tar zxvf mongodb-osx-x86_64-2.6.5.tgz
$ rm mongodb-osx-x86_64-2.6.5.tgz
进入用户的主页
$ mv mongodb-osx-x86_64-2.6.5 ~/
# ~/mongoにしておく
$ mv mongodb-osx-x86_64-2.6.5 mongodb
版本检查
$ cd ~/mongodb/bin
$ ./mongod --version
db version v2.6.5
2014-12-01T18:38:49.421+0900 git version: e99d4fcb4279c0279796f237aa92fe3b64560bf6
正确地变成了2.6.5版本。
将路径添加。
$ pwd
/Users/sugawara_ryosuke/mongodb/bin
$ vim ~/.bash_profile
在.bash_profile文件中添加以下内容
export PATH=/Users/sugawara_ryosuke/mongodb/bin:$PATH
$ source ~/.bash_profile
$ mongod --version
db version v2.6.5
启动MongoDB
准备启动前的事项
$ mkdir mongodb/db
$ mkdir mongodb/log
启动
你可以使用以下命令来启动。
$ mongod --nojournal --noprealloc --dbpath mongodb/db
一旦启动,终端将处于等待状态。
$ mongod --nojournal --noprealloc --dbpath mongodb/db
note: noprealloc may hurt performance in many applications
2014-12-01T18:51:24.529+0900 [initandlisten] MongoDB starting : pid=51527 port=27017 dbpath=mongodb/db 64-bit host=n0bisuke.local
2014-12-01T18:51:24.529+0900 [initandlisten]
2014-12-01T18:51:24.529+0900 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
2014-12-01T18:51:24.529+0900 [initandlisten] db version v2.6.5
2014-12-01T18:51:24.529+0900 [initandlisten] git version: e99d4fcb4279c0279796f237aa92fe3b64560bf6
2014-12-01T18:51:24.529+0900 [initandlisten] build info: Darwin bs-osx108-1 12.5.0 Darwin Kernel Version 12.5.0: Sun Sep 29 13:33:47 PDT 2013; root:xnu-2050.48.12~1/RELEASE_X86_64 x86_64 BOOST_LIB_VERSION=1_49
2014-12-01T18:51:24.529+0900 [initandlisten] allocator: system
2014-12-01T18:51:24.529+0900 [initandlisten] options: { storage: { dbPath: "mongodb/db", journal: { enabled: false }, preallocDataFiles: false } }
2014-12-01T18:51:24.674+0900 [initandlisten] waiting for connections on port 27017
・
・
・
默认端口是27017。
当您访问http://localhost:27017时,您会看到显示”看起来您正在尝试通过本地驱动程序端口访问MongoDB”,这表明MongoDB已成功启动。

在结束时按control + c
和Node.js类似,可以使用control + c来结束进程。
启动恶魔
因为每次在终端上启动都很麻烦,所以我会启动守护进程。
$ mongod --fork --logpath mongodb/log/mongodb.log --nojournal --noprealloc --dbpath mongodb/db
note: noprealloc may hurt performance in many applications
about to fork child process, waiting until server is ready for connections.
forked process: 51518
child process started successfully, parent exiting
通常情况下,启动时将在控制台输出日志信息,但是在守护程序启动时需要指定日志文件的路径作为输出目标。
最终
我只是个轻量级用户,所以就算使用MongoDB2.4也完全没有问题,哈哈。