MongoDB是由C++语言编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统,其内容存储形式类似JSON对象,它的字段值可以包含其他文档、数组及文档数组,非常灵活。

MongoDB支持多种平台,包括Windows、Linux、Mac OS、Solaris等,在其官方网站(https://www.mongodb.com/download-center)均可找到对应的安装包。

本节中,我们来看下它的安装过程。

1. 相关链接

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对应的命令如下:

     
     
    1
    echo "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对应的命令如下:
     
     
    1
    echo "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对应的命令如下:
     
     
    1
    echo "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安装方式可以参考官方文档:https://docs.mongodb.com/manual/administration/install-on-linux/

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,它使用简单,功能强大,官方网站为https://robomongo.org/,三大平台都支持,下载链接为https://robomongo.org/download

另外,还有一个简单易用的可视化工具——Studio 3T,它同样具有方便的图形化管理界面,官方网站为https://studio3t.com,同样支持三大平台,下载链接为https://studio3t.com/download/

[Python3网络爬虫开发实战] 1.4.2-MongoDB安装的更多相关文章

  1. [Python3网络爬虫开发实战] 1.8.1-pyspider的安装

    pyspider是国人binux编写的强大的网络爬虫框架,它带有强大的WebUI.脚本编辑器.任务监控器.项目管理器以及结果处理器,同时支持多种数据库后端.多种消息队列,另外还支持JavaScript ...

  2. [Python3网络爬虫开发实战] 1.8.2-Scrapy的安装

    Scrapy是一个十分强大的爬虫框架,依赖的库比较多,至少需要依赖的库有Twisted 14.0.lxml 3.4和pyOpenSSL 0.14.在不同的平台环境下,它所依赖的库也各不相同,所以在安装 ...

  3. [Python3网络爬虫开发实战] 1.8.4-Scrapy-Redis的安装

    Scrapy-Redis是Scrapy的分布式扩展模块,有了它,我们就可以方便地实现Scrapy分布式爬虫的搭建.本节中,我们将介绍Scrapy-Redis的安装方式. 相关链接 GitHub:htt ...

  4. [Python3网络爬虫开发实战] 1.3.4-tesserocr的安装

    在爬虫过程中,难免会遇到各种各样的验证码,而大多数验证码还是图形验证码,这时候我们可以直接用OCR来识别. 1. OCR OCR,即Optical Character Recognition,光学字符 ...

  5. [Python3网络爬虫开发实战] 1.9.6-Gerapy的安装

    Gerapy是一个Scrapy分布式管理模块,本节就来介绍一下它的安装方式. 1. 相关链接 GitHub:https://github.com/Gerapy 2. pip安装 这里推荐使用pip安装 ...

  6. [Python3网络爬虫开发实战] 1.9.1-Docker的安装

    Docker是一种容器技术,可以将应用和环境等进行打包,形成一个独立的.类似于iOS的App形式的“应用”.这个应用可以直接被分发到任意一个支持Docker的环境中,通过简单的命令即可启动运行.Doc ...

  7. [Python3网络爬虫开发实战] 1.7.3-Appium的安装

    Appium是移动端的自动化测试工具,类似于前面所说的Selenium,利用它可以驱动Android.iOS等设备完成自动化测试,比如模拟点击.滑动.输入等操作,其官方网站为:http://appiu ...

  8. [Python3网络爬虫开发实战] 1.7.1-Charles的安装

    Charles是一个网络抓包工具,相比Fiddler,其功能更为强大,而且跨平台支持得更好,所以这里选用它来作为主要的移动端抓包工具. 1. 相关链接 官方网站:https://www.charles ...

  9. [Python3网络爬虫开发实战] 1.5.3-redis-py的安装

    对于Redis来说,我们要使用redis-py库来与其交互,这里就来介绍一下它的安装方法. 1. 相关链接 GitHub:https://github.com/andymccurdy/redis-py ...

  10. [Python3网络爬虫开发实战] 1.5.2-PyMongo的安装

    在Python中,如果想要和MongoDB进行交互,就需要借助于PyMongo库,这里就来了解一下它的安装方法. 1. 相关链接 GitHub:https://github.com/mongodb/m ...

随机推荐

  1. UVa 12716 && UVaLive 6657 GCD XOR (数论)

    题意:给定一个 n ,让你求有多少对整数 (a, b) 1 <= b <= a 且 gcd(a, b) = a ^ b. 析:设 c = a ^ b 那么 c 就是 a 的约数,那么根据异 ...

  2. (3)css文本样式

    本篇学习资料主要讲解: 如何用css 的样式定义方法来介绍文字的使用. 第(1)节:用css设置文本样式.                       一.弄懂文本文字的制作.利用css的样式定义版面 ...

  3. 在JS/jQuery中,怎么触发input的keypress/keydown/keyup事件?

    怎么触发keypress/keydown/keyup事件? 问题: 1.在之前的写的input后面添加了搜索按钮 2.input只有keyup事件,如下: $("#desktop_folde ...

  4. XML 基础学习

    在w3school看到了XML的教程,想到以前工作学习中也接触到了XML,但只是简单搜索了解了下,没有认真去学习XML的基础,所以现在认真看下其基础部分,并写篇博客作为笔记记录下. XML 简介 XM ...

  5. shell脚本从入门到精通

    阿里云大学 shell脚本从入门到精通 第1 章 : shell脚本编程-变量-算术表达式-判断语句-if分支语句 第2 章 : case-for-While-双括号-循环嵌套-break-conti ...

  6. 455 Assign Cookies 分发饼干

    假设你是一位很棒的家长,想要给你的孩子们一些小饼干.但是,每个孩子最多只能给一块饼干.对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸:并且每块饼干 j ,都有一个尺寸 ...

  7. 把sed当作命令解释器使用

    [root@sishen ~]# vim script.sed #!/bin/sed -f #交换第一列和第二列 s/\([^,]*\),\([^,]*\),\(.*\).*/\2,\1, \3/g ...

  8. 移动端UI自动化Appium测试——Windows系统Appium环境配置

    1.安装JDK,官网下载即可,这里用的1.8,环境变量配置 2.安装Android sdk,API >= 17,环境变量配置 3.安装Nodejs,官网http://nodejs.org/dow ...

  9. [转]在ASP.NET MVC3中使用EFCodeFirst 1.0

    本文转自:http://kb.cnblogs.com/page/97003/ 作者: NinoFocus  来源: 博客园  发布时间: 2011-04-12 10:41  阅读: 11971 次   ...

  10. python itertools模块实现排列组合

    转自:https://blog.csdn.net/specter11235/article/details/71189486 一.笛卡尔积:itertools.product(*iterables[, ...