19.5 MongoDB 8.0

MongoDB 是一款广泛应用的 NoSQL 文档型数据库(Document-oriented Database),采用 BSON(Binary JSON,二进制 JSON)格式进行数据存储,在半结构化数据处理与大规模分布式存储场景中具有技术优势。

相较于传统关系型数据库,MongoDB 具备灵活的模式(Schema)设计能力与良好的水平扩展性。

安装

本节将详细介绍在 FreeBSD 操作系统环境下部署 MongoDB 8.0 的方法。

使用 pkg 安装 MongoDB:

# pkg ins mongodb80

或者使用 ports 安装:

# cd /usr/ports/databases/mongodb80/ 
# make install clean

查看 MongoDB 安装后的说明信息:

# pkg info -D mongodb80
mongodb80-8.0.4_3:
On install:
MongoDB on Raspberry Pi can work but is unsupported upstream.
Please read https://jira.mongodb.org/browse/SERVER-71772 and enable option
ARMV80A if you run this on a non-LSE ARM cpu like Raspberry Pi 4.
# MongoDB 可以在 Raspberry Pi 上运行,但官方不提供支持
# 请阅读 https://jira.mongodb.org/browse/SERVER-71772 并在 Raspberry Pi 4 等非 LSE ARM CPU 上启用 ARMV80A 选项。

MongoDB 6.0 and up do not include the 'mongo' CLI shell anymore. You can
use the MongoDB Shell (https://github.com/mongodb-js/mongosh).
# MongoDB 6.0 及更高版本不再包括 'mongo' CLI shell。
# 你可以使用 MongoDB Shell(https://github.com/mongodb-js/mongosh)。

# pkg install npm
$ npm install mongosh
$ npx mongosh mongodb://127.0.0.1:27017/
# 安装 npm 并使用以下命令安装 mongosh:
# $ npm install mongosh
# 然后使用 npx 启动 mongosh 连接到本地 MongoDB 实例:
# $ npx mongosh mongodb://127.0.0.1:27017/

服务

安装完成后,需要启动 MongoDB 服务才能正常使用。以下命令用于设置服务开机自启并立即启动服务:

mongosh(MongoDB 官方 Shell CLI)

MongoDB 6.0 及更高版本不再包含传统的 mongo 命令行工具,取而代之的是官方的 mongosh。在 FreeBSD Ports 源中已经提供 mongosh,无需额外操作。

安装 mongosh

使用 pkg 安装:

或者使用 ports 安装:

测试连接 MongoDB

使用 mongosh 连接到本地 MongoDB 服务:

配置文件

如需进一步配置 MongoDB,可以修改其配置文件。配置文件可以调整数据库的各种参数,如监听地址、端口、日志等。

MongoDB 8.0 的配置文件位于 /usr/local/etc/mongodb.conf,配置模板文件位于 /usr/local/etc/mongodb.conf.sample

创建用户和密码

默认情况下,MongoDB 不启用访问控制,任何人都可以连接和操作数据库。为了确保安全,建议创建用户并设置密码。

使用 mongosh 连接本地 MongoDB 服务:

你可以直接复制下面的文本到命令行中:

用户创建完成后,需要开启密码验证以确保数据库安全。

编辑 /usr/local/etc/mongodb.conf

去掉 #security: 前的注释符号 #,然后在下一行加入 authorization: enabled,如下所示:

重启 MongoDB 服务以应用配置更改:

登录方式

启用访问控制后,需要使用用户名和密码登录 MongoDB。配置完成后,可以使用以下方式登录 MongoDB。

登录方式 ①

使用 mongosh 连接到本地 MongoDB 服务:

登录方式 ②

使用用户 admin 和密码 z 登录 MongoDB:

参考文献

课后习题

  1. 配置 HTTPS 支持,并实现 SSL 证书自动签名

  2. 使用 MongoDB 部署 WordPress。

  3. 加固安全设置,使 MongoDB 能够面向互联网。

最后更新于