没有使用Brew,而是将MongoDB安装在Mac上,并记录了自动启动的步骤

背景

我在工作中使用的MongoDB版本是2.6,在尝试使用brew安装时,发现在High Sierra上无法安装(截止到2017年10月13日)。因此,我尝试了另外的安装方式而不使用brew。

MongoDB的下载

在任意的目录中切换到。

$ cd ~/

下载MongoDB

$ 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 mongodb

已经安装完成了。

让路径通过。

$ vi ~/.bash_profile

在内部添加如下内容

export PATH=/Users/sugawara_ryosuke/mongodb/bin:$PATH

使用这个就可以在任何地方使用mongo命令。

$ mongod -version

启动MongoDB

首先创建所需的目录。

$ mkdir ~/mongodb/log
$ mkdir ~/mongodb/db

启动

$ mongod --fork --logpath /Users/sakura/mongodb/log/mongodb.log --nojournal --noprealloc --dbpath /Users/sakura/mongodb/db

如果显示如下内容,则表示启动成功。

note: noprealloc may hurt performance in many applications
about to fork child process, waiting until server is ready for connections.
forked process: 2926
child process started successfully, parent exiting

让Mac自动启动,即使重新启动也能自动启动。

这样的话,每次重新启动Mac都必须手动启动它。

设定为通过launchd/launchctl启动。

$ sudo vi /Library/LaunchDaemons/org.mongodb.mongod.plist

在内部填写以下信息。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>org.mongodb.mongod</string>
        <key>RunAtLoad</key>
        <true/>
        <key>ProgramArguments</key>
        <array>
               <string>/Users/sakura/sakura/mongodb/bin/mongod</string>
               <string>--dbpath</string>
               <string>/Users/sakura/sakura/mongodb/db</string>
               <string>--logpath</string>
               <string>/Users/sakura/sakura/mongodb/log/mongodb.log</string>
        </array>
</dict>
</plist>

为了预防起见,更改所有者和权限。

$ sudo chown root:wheel /Library/LaunchDaemons/org.mongodb.mongod.plist
$ sudo chmod 644 /Library/LaunchDaemons/org.mongodb.mongod.plist

读取最后完成。

$ launchctl load /Library/LaunchDaemons/org.mongodb.mongod.plist

如果MongoDB无法自动启动的话

如果自动启动失败,请执行以下命令。

$ rm /Users/sakura/mongodb/db/mongod.lock
$ sudo mongod --dbpath=/Users/sakura/mongodb/db --repair

这次完成了。

请参阅

    • https://qiita.com/n0bisuke/items/9def9f1c5e8d878c0811

 

    • http://babie.hatenablog.com/entry/20100601/1275420266

 

    https://qiita.com/momota10/items/cbe5c7e20b6f8d27e391