MongoDB是由C++语言编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统,其内容存储形式类似JSON对象,它的字段值可以包含其他文档、数组及文档数组,非常灵活。
MongoDB支持多种平台,包括Windows、Linux、Mac OS、Solaris等,在其官方网站()均可找到对应的安装包。
本节中,我们来看下它的安装过程。
1. 相关链接
- 官方网站:
- 官方文档:
- GitHub:
- 中文教程:
2. Windows下的安装
这里直接在官网(如图1-29所示)点击DOWNLOAD按钮下载msi安装包即可。
图1-29 MongoDB官网
下载完成后,双击它开始安装,指定MongoDB的安装路径,例如此处我指定的安装路径为C:\MongoDB\Server\3.4,如图1-30所示。当然,这里也可以自行选择路径。
图1-30 指定安装路径
点击Next按钮执行安装即可。
安装成功之后,进入MongoDB的安装目录,此处是C:\MongoDB\Server\3.4,在bin目录下新建同级目录data,如图1-31所示。
图1-31 新建data目录
然后进入data文件夹,新建子文件夹db来存储数据目录,如图1-32所示。
图1-32 新建db目录
之后打开命令行,进入MongoDB安装目录的bin目录下,运行MongoDB服务:
1 | mongod --dbpath "C:\MongoDB\Server\3.4\data\db" |
请记得将此处的路径替换成你的主机MongoDB安装路径。
运行之后,会出现一些输出信息,如图1-33所示。
图1-33 运行结果
这样我们就启动MongoDB服务了。
但是如果我们想一直使用MongoDB,就不能关闭此命令行了。如果意外关闭或重启,MongoDB服务就不能使用了。这显然不是我们想要的。所以,接下来还需将MongoDB配置成系统服务。
首先,以管理员模式运行命令行。注意,此处一定要以管理员身份运行,否则可能配置失败,如图1-34所示。
图1-34 以管理员身份运行
在“开始”菜单中搜索cmd,找到命令行,然后右击它以管理员身份运行即可。
随后新建一个日志文件,在bin目录新建logs同级目录,进入之后新建一个mongodb.log文件,用于保存MongoDB的运行日志,如图1-35所示。
图1-35 新建mongodb.log文件
在命令行下输入如下内容:
1 | mongod --bind_ip 0.0.0.0 --logpath "C:\MongoDB\Server\3.4\logs\mongodb.log" --logappend --dbpath "C:\MongoDB\Server\3.4\data\db" --port 27017 --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install |
这里的意思是绑定IP为0.0.0.0(即任意IP均可访问),指定日志路径、数据库路径和端口,指定服务名称。需要注意的是,这里依然需要把路径替换成你的MongoDB安装路径,运行此命令后即可安装服务,运行结果如图1-36所示。图1-36 运行结果
如果没有出现错误提示,则证明MongoDB服务已经安装成功。
可以在服务管理页面查看到系统服务,如图1-37所示。
图1-37 系统服务页面
然后就可以设置它的开机启动方式了,如自动启动或手动启动等,这样我们就可以非常方便地管理MongoDB服务了。
启动服务后,在命令行下就可以利用mongo
命令进入MongoDB命令交互环境了,如图1-38所示。
图1-38 命令行模式
这样,Windows下的MongoDB配置就完成了。
3. Linux下的安装
这里以MongoDB 3.4为例说明MongoDB的安装过程。
Ubuntu
首先,导入MongoDB的GPG key:
1 | sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6 |
随后创建apt-get源列表,各个系统版本对应的命令分别如下。
- Ubuntu 12.04对应的命令如下: 1echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
- Ubuntu 14.04对应的命令如下: 1echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
- Ubuntu 16.04对应的命令如下: 1echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
随后更新apt-get源:
1 | sudo apt-get update |
之后安装MongoDB即可:
1 | sudo apt-get install -y mongodb-org |
安装完成后运行MongoDB,命令如下:
1 | mongod --port 27017 --dbpath /data/db |
运行命令之后,MongoDB就在27017端口上运行了,数据文件会保存在/data/db路径下。
一般情况下,我们在Linux上配置MongoDB都是为了远程连接使用的,所以这里还需要配置一下MongoDB的远程连接以及用户名和密码。
接着,进入MongoDB命令行:
1 | mongo --port 27017 |
现在我们就已经进入到MongoDB的命令行交互模式下了,在此模式下运行如下命令:
1 2 3 4 5 6 7 8 9 10 11 12 | > use admin switched to db admin > db.createUser({ user: 'admin', pwd: 'admin123', roles: [{ role: 'root', db: 'admin'}]}) Successfully added user: { "user" : "admin", "roles" : [ { "role" : "root", "db" : "admin" } ] } |
这样我们就创建了一个用户名为admin,密码为admin123的用户,赋予最高权限。
随后需要修改MongoDB的配置文件,此时执行如下命令:
1 | sudo vi /etc/mongod.conf |
然后修改net
部分为:
1 2 3 | net: port: 27017 bindIp: 0.0.0.0 |
这样配置后,MongoDB可被远程访问。
另外,还需要添加如下的权限认证配置,此时直接添加如下内容到配置文件即可:
1 2 | security: authorization: enabled |
配置完成之后,我们需要重新启动MongoDB服务,命令如下:
1 | sudo service mongod restart |
这样远程连接和权限认证就配置完成了。
CentOS和Red Hat
首先,添加MongoDB源:
1 | sudo vi /etc/yum.repos.d/mongodb-org.repo |
接着修改如下内容并保存:
1 2 3 4 5 6 | [mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc |
然后执行yum
命令安装:
1 | sudo yum install mongodb-org |
这里启动MongoDB服务的命令如下:
1 | sudo systemctl start mongod |
停止和重新加载MongoDB服务的命令如下:
1 2 | sudo systemctl stop mongod sudo systemctl reload mongod |
有关远程连接和认证配置,可以参考前面,方式是相同的。
更多Linux发行版的MongoDB安装方式可以参考官方文档:。
4. Mac下的安装
这里推荐使用Homebrew安装,直接执行brew
命令即可:
1 | brew install mongodb |
然后创建一个新文件夹/data/db,用于存放MongoDB数据。
这里启动MongoDB服务的命令如下:
1 2 | brew services start mongodb sudo mongod |
停止和重启MongoDB服务的命令分别是:
1 2 | brew services stop mongodb brew services restart mongodb |
5. 可视化工具
这里推荐一个可视化工具RoboMongo/Robo 3T,它使用简单,功能强大,官方网站为,三大平台都支持,下载链接为。
另外,还有一个简单易用的可视化工具——Studio 3T,它同样具有方便的图形化管理界面,官方网站为,同样支持三大平台,下载链接为。