Linux安装MongoDB(图解)

 
MongoDB 是跨平台的,既可以在 Windows 系统下安装,也可以在 Linux 系统下安装,本节我们就来介绍一下如何在 Linux 系统下安装 MongoDB。

下载 MongoDB

MongoDB 官方提供了多种 Linux 发行版的安装包,您可以在官网下载合适的版本。在安装 MongoDB 前我们需要先安装 Linux 平台的依赖包,安装方法如下:

Red Hat/CentOS:

sudo yum install libcurl openssl

Ubuntu 18.04 LTS ("Bionic")/Debian 10 "Buster":

sudo apt-get install libcurl4 openssl

Ubuntu 16.04 LTS ("Xenial")/Debian 9 "Stretch":

sudo apt-get install libcurl3 openssl

待依赖包安装完成后,我们就可以去 MongoDB 官网(https://www.mongodb.com/try/download/community)下载合适的安装包了,如下图所示:

MongoDB 官网
图:MongoDB 官网

注意:以下演示过程都是在 CentOS 系统下进行的。

我们选择好要使用的安装包后并不需要在浏览器中直接下载,只需要复制下载链接即可,之后使用 Linux 命令来下载 MongoDB 的安装包,如下所示:

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.3.tgz

安装 MongoDB

相对于在 Windows 下安装 MongoDB,在 Linux 系统下安装 MongoDB 要简单很多,只需简单的几步即可。

【步骤 1】解压下载好的安装包,并将解压得到的文件移动到指定的目录中,命令如下:

tar -zxvf mongodb-linux-x86_64-rhel70-4.4.3.tgz                     # 解压

mv mongodb-src-r4.4.3  /usr/local/mongodb                           # 将解压后的文件拷贝到指定目录

【步骤 2】打开系统配置文件,命令如下:

sudo vi /etc/profile

接下来在 vim 编辑器中按 i 或者 insert 键来进入 insert 模式对系统配置文件进行编辑,并在配置文件中添加如下配置信息:

export PATH = <directory>/bin:$PATH

其中 <directory> 为 MongoDB 的安装路径,例如【步骤 1】中使用到的 /usr/local/mongodb,完整的配置信息如下:

export PATH=/usr/local/mongodb4/bin:$PATH

编辑完成后按 esc键退出 insert 模式,然后按 shift + : 键并输入 wq 来保存并退出系统配置文件。

系统配置文件保存成功后可以使用如下命令来使配置文件生效:

source /etc/profile

【步骤 3】创建数据库目录,默认情况下 MongoDB 启动后会初始化以下两个目录:
  • 数据存储目录:/var/lib/mongodb
  • 日志文件目录:/var/log/mongodb

所以我们在启动 MongoDB 前可以先创建这两个目录并设置读写权限,命名如下:

sudo mkdir -p /var/lib/mongodb
sudo mkdir -p /var/log/mongodb
sudo chown `whoami` /var/lib/mongodb   # 设置权限
sudo chown `whoami` /var/log/mongodb   # 设置权限

其中 mkdir -p 命令用来确保目录名称存在,如果不存在就建一个。chown `whoami` 命令用来指定文件所有者为用户自身,whoami 为显示自身名称的命令。

启动 MongoDB

完成上述步骤后 MongoDB 就安装完成了,您可以使用下面的命令来启动 MongoDB 服务:

mongod --dbpath /var/lib/mongodb --logpath /var/log/mongodb/mongod.log --fork

输入 tail -10f /var/log/mongodb/mongod.log 命令,若看到类似下面的信息则说明 MongoDB 运行成功:

{"t":{"$date":"2021-02-05T13:10:40.423+08:00"},"s":"I",  "c":"NETWORK",  "id":23015,   "ctx":"listener","msg":"Listening on","attr":{"address":"/tmp/mongodb-27017.sock"}}
{"t":{"$date":"2021-02-05T13:10:40.424+08:00"},"s":"I",  "c":"NETWORK",  "id":23015,   "ctx":"listener","msg":"Listening on","attr":{"address":"127.0.0.1"}}
{"t":{"$date":"2021-02-05T13:10:40.424+08:00"},"s":"I",  "c":"NETWORK",  "id":23016,   "ctx":"listener","msg":"Waiting for connections","attr":{"port":27017,"ssl":"off"}}