如何在 Ubuntu 20.04 上安装 MongoDB

MongoDB 是一个免费的开源面向文档的数据库,它使用带有可选模式的类似 JSON 的文档来存储信息。 它在设计时考虑了可扩展性和开发人员敏捷性。

MongoDB 是一个跨平台的数据库,可用于 Windows、Linux、OS X、Solaris 和 FreeBSD。 它是在服务器端公共许可证 (SSPL) 下发布的。

在这里,我们将看到如何在 Ubuntu 20.04 上安装 MongoDB。

本文档也适用于 CentOS 8 CentOS 7 CentOS 6 Debian 10 Debian 9 Ubuntu 18.04/16.04

添加 MongoDB 存储库

MongoDB Inc 发布了适用于 Ubuntu 操作系统的稳定包,并通过他们的存储库共享它们。 MongoDB 存储库中可用的 MongoDB 包通常比 Ubuntu 存储库中的包更新。

您应该始终使用官方的 MongoDB 包。

安装以下依赖包。

sudo apt update

sudo apt install -y gnupg

将MongoDB的官方仓库添加到系统中。

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

安装 MongoDB

更新存储库索引。

sudo apt update

使用 MongoDB 安装 apt 命令。

sudo apt install -y mongodb-org

安装后

网络绑定

默认情况下,MongoDB 侦听 127.0.0.1,一个 localhost 网络接口。 这意味着 MongoDB 只能接受来自在同一台机器上运行的客户端的连接。 在这种情况下,远程客户端将无法连接到 MongoDB。

sudo nano /etc/mongod.conf

更新 bindIP 使用您的系统 IP 地址。

# network interfaces
net:
  port: 27017
  bindIp: 192.168.0.10

安全检查表

创建管理员用户

默认情况下,MongoDB 不对用户读取和修改数据进行身份验证,这是最大的安全问题。 要启用身份验证,首先, 创建数据库管理用户.

访问控制

创建管理用户后,启用访问控制以强制执行身份验证。 此设置仅允许已识别的用户根据其角色执行操作。

sudo nano /etc/mongod.conf

添加以下几行。

security:
  authorization: enabled

管理 MongoDB 服务

要启动 MongoDB 服务,请运行:

sudo systemctl start mongod

要使 MongoDB 服务在系统启动时自动启动,请运行:

sudo systemctl enable mongod

检查 MongoDB 服务的状态。

sudo systemctl status mongod

输出:

 mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2020-08-03 13:30:55 EDT; 7s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 4392 (mongod)
     Memory: 61.1M
     CGroup: /system.slice/mongod.service
             └─4392 /usr/bin/mongod --config /etc/mongod.conf

Aug 03 13:30:55 ubuntu2004 systemd[1]: Started MongoDB Database Server.

确认MongoDB服务器的版本。

mongod --version

输出:

db version v4.4.0
Build Info: {
    "version": "4.4.0",
    "gitVersion": "563487e100c4215e2dce98d0af2a6a5a2d67c5cf",
    "openSSLVersion": "OpenSSL 1.1.1f  31 Mar 2020",
    "modules": [],
    "allocator": "tcmalloc",
    "environment": {
        "distmod": "ubuntu2004",
        "distarch": "x86_64",
        "target_arch": "x86_64"
    }
}

访问 MongoDB

使用以下命令连接到 MongoDB shell。

mongo

或者

mongo <DBHOST_IP_ADDRESS>

或者

mongo <DBHOST_IP_ADDRESS> --port 27017 --authenticationDatabase "admin" -u "<ADMIN_USER>" -p

输出:

connecting to: mongodb://192.168.0.10:27017/test?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("42279415-3014-46b5-b85f-dc83d7bc4bbd") }
MongoDB server version: 4.4.0
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
        https://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forums
        https://community.mongodb.com
>

结论

就这样。 我希望你已经学会了如何在 Ubuntu 20.04 上安装 MongoDB。 请在评论部分分享您的反馈。