Mac使用Homebrew安装MongoDB

发布:elantion 日期:2018-07-11 阅读:2856 评论:1

Homebrew是Mac下非常强大的软件包管理工具,类似CentOS的Yum,使用起来非常方便。

安装

安装homebrew只需下面一行命令,更详细过程请查看官网 https://brew.sh/#install :

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

然后,输入下面这个命令添加MongoDB的源:

brew tap mongodb/brew

最后,安装开源社区版(免费版):

brew install mongodb-community

配置和运行

安装后之后就要配置MongoDB了,MongoDB的数据库文件默认是放在 /data/db 目录下,所以要创建该目录:

mkdir -p /data/db

如果发现mongodb无法在/data/db下创建文件,那多半是权限不对了,那就要赋予目录当前用户的权限,先看看当前用户名:

whoami

例如我当前电脑的用户名是elantion,那么我就要让elantion成为这个目录的所有者:

sudo chown elantion /data/db

之后就可以运行MongoDB了;

mongod

如果看到 waiting for connections on port 27017 字样,并且没有退出,就表示成功运行了。不过这不是后台模式,会占用一个命令行窗口,所以要让后台运行可以运行这一句:

brew services start mongodb-community

这样MongoDB就成功运行在后台了,并不复杂吧?

升级

homebrew 不仅让安装和运行mongodb变得非常简单,而且升级也超级简单,只需运行 brew update 即可。可是有个问题就是数据库的版本是不会跟随MongoDB的程序一起升级,升级后很有可能无法正常读取旧数据,MongoDB就无法启动,这时候只能先用旧版本运行MongoDB,例如下面是用4.2(注意:配置文件必须指定):

/usr/local/Cellar/mongodb-community@4.2/4.2.9/bin/mongod --config /usr/local/etc/mongod.conf

然后进入MongoDB的CLI环境:

mongo

输入下面命令查询当前兼容版本:

db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )

下面的返回表示当前数据库只能兼容4.0版本:

{ "featureCompatibilityVersion" : { "version" : "4.0" }, "ok" : 1 }

下面命令可以升级为4.2:

db.adminCommand( { setFeatureCompatibilityVersion: "4.2" } )

要注意的是,只能从4.0升级4.2,不能直接从3.x升级4.2,需要一级一级往上升(好像很麻烦 -_- ),没什么意外就会返回以下信息:

{ "ok" : 1 }

最后,启动下MongoDB的服务就可以了,大功告成!

brew services start mongodb-community

如果可以正常启动4.4版本,那么提前升级数据库版本到4.4也是可以的哦:

db.adminCommand( { setFeatureCompatibilityVersion: "4.4" } )

问题

下面列举下我遇到的问题:

tail -f /usr/local/var/log/mongodb/mongo.log