0%

[Python3网络爬虫开发实战] 1.4.2-MongoDB安装

更新 2020/3/8

MongoDB 现在已经出到了 4.x 版本,下面的安装教程是基于 3.x 版本,可能已经过期。

关于 4.x 的安装教程,可以参考如下内容:


以下为原文:

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/