文档菜单
文档首页
/
MongoDB 手册
/ / / /

在 SUSE 上安装 MongoDB 社区版

本页内容

  • 概述
  • 注意事项
  • 安装 MongoDB 社区版
  • 运行 MongoDB 社区版
  • 卸载 MongoDB 社区版
  • 附加信息

使用本教程安装 MongoDB 8.0社区版在 SUSE Linux Enterprise Server (SLES) 上使用zypper 软件包管理器。

此教程安装 MongoDB 8.0 版本。社区要安装不同版本的 MongoDB社区,请使用页面右上角的版本下拉菜单选择该版本的文档。

MongoDB 8.0 社区版支持以下内容64位 SUSE Linux Enterprise Server (SLES) 版本x86_64 架构

  • SLES 15

MongoDB 只支持这些平台的64位版本。

有关更多信息,请参阅平台支持

在生产环境中部署 MongoDB 之前,请考虑阅读自托管部署的生产注意事项文档,该文档提供了关于生产 MongoDB 部署的性能考虑和建议。

按照以下步骤安装 MongoDB社区使用 zypper 软件包管理器。

1
sudo rpm --import https://pgp.mongodb.com/server-8.0.asc
2

添加仓库以便安装MongoDB。使用适用于您的SUSE版本的命令

sudo zypper addrepo --gpgcheck "https://repo.mongodb.org/zypper/suse/15/mongodb-org/8.0/x86_64/" mongodb
3

要安装MongoDB的最新版本,请运行以下命令

sudo zypper -n install mongodb-org

要安装MongoDB的特定版本,请分别指定每个组件软件包,并将版本号附加到软件包名称后,如下例所示

sudo zypper install mongodb-org-8.0.0 mongodb-org-database-8.0.0 mongodb-org-server-8.0.0 mongodb-mongosh mongodb-org-mongos-8.0.0 mongodb-org-tools-8.0.0

您可以指定任何可用的MongoDB版本。但是,当有新版本可用时,zypper会升级软件包。为了避免意外升级,请运行以下命令以锁定软件包

sudo zypper addlock mongodb-org-8.0.0 mongodb-org-database-8.0.0 mongodb-org-server-8.0.0 mongodb-mongosh mongodb-org-mongos-8.0.0 mongodb-org-tools-8.0.0

MongoDB软件包的旧版本使用不同的仓库位置。请参阅适用于您的MongoDB版本的适当文档。

大多数类 Unix 操作系统限制进程可能使用的系统资源。这些限制可能会对 MongoDB 的运行产生负面影响,并且应该进行调整。有关您平台推荐的设置,请参阅自托管部署的 UNIX ulimit 设置

注意

如果 ulimit 的打开文件数量小于 64000,MongoDB 会生成启动警告。

默认情况下,MongoDB 实例存储

  • 其数据文件在 /var/lib/mongo

  • 其日志文件在 /var/log/mongodb

如果您通过包管理器安装,这些默认目录将在安装期间创建。

如果您通过下载tar包手动安装,可以使用mkdir -p <目录>sudo mkdir -p <目录>命令创建目录,具体取决于运行MongoDB的用户。请查阅Linux man页面以获取有关mkdirsudo的信息。

默认情况下,MongoDB使用mongod用户账户运行。如果您更改运行MongoDB进程的用户,您必须也修改/var/lib/mongo/var/log/mongodb目录的权限,以便此用户能够访问这些目录。

要指定不同的日志文件目录和数据文件目录,请编辑/etc/mongod.conf中的systemLog.pathstorage.dbPath设置。确保运行MongoDB的用户可以访问这些目录。

按照以下步骤运行MongoDB社区版本。这些说明假定您正在使用默认设置。

初始化系统

要运行和管理您的mongod进程,您将使用操作系统的内置初始化系统。Linux的最新版本倾向于使用systemd(使用systemctl命令),而较老版本的Linux倾向于使用System V init(使用service命令)。

如果您不确定您的平台使用哪种初始化系统,请运行以下命令

ps --no-headers -o comm 1

然后根据结果选择下面的适当标签

  • systemd - 选择下面的systemd (systemctl)标签。

  • init - 选择下面的System V Init (service)标签。


1

您可以通过以下命令启动 mongod 进程:

sudo systemctl start mongod

如果启动 mongod 时收到类似于以下错误:

无法启动 mongod.service: 单元 mongod.service 未找到。

首先运行以下命令:

sudo systemctl daemon-reload

然后再次运行上面的启动命令。

2

您可以通过以下命令验证 mongod 进程是否已成功启动:

sudo systemctl status mongod

您可以可选地通过以下命令确保系统重启后MongoDB会自动启动:

sudo systemctl enable mongod
3

如有需要,您可以通过以下命令停止 mongod 进程:

sudo systemctl stop mongod
4

您可以通过以下命令重启 mongod 进程:

sudo systemctl restart mongod

您可以通过查看 /var/log/mongodb/mongod.log 文件中的输出,来跟踪进程的状态,查找错误或重要消息。

5

启动一个在与 mongod 相同的主机上的 mongosh 会话。您可以在没有任何命令行选项的情况下运行 mongosh,以连接到在您的本地主机上以默认端口 27017 运行的 mongod

mongosh

有关使用 mongosh 连接的更多信息,例如连接到在不同主机和/或端口上运行的 mongod 实例,请参阅 mongosh 文档。

为了帮助您开始使用 MongoDB,MongoDB 提供了各种驱动程序版本的 入门指南。有关驱动程序文档,请参阅 开始使用 MongoDB 开发。

1

您可以通过以下命令启动 mongod 进程:

sudo service mongod start
2

您可以通过检查位于 /var/log/mongodb/mongod.log 的日志文件内容,来验证 mongod 进程是否成功启动。

[initandlisten] waiting for connections on port <port>

其中,<port> 是在 /etc/mongod.conf 中配置的端口号,默认为 27017

您可以可选地通过以下命令确保系统重启后MongoDB会自动启动:

sudo chkconfig mongod on
3

如有需要,您可以通过以下命令停止 mongod 进程:

sudo service mongod stop
4

您可以通过以下命令重启 mongod 进程:

sudo service mongod restart

您可以通过查看 /var/log/mongodb/mongod.log 文件中的输出,来跟踪进程的状态,查找错误或重要消息。

5

在与mongod相同的宿主机上启动一个mongosh会话。您可以在没有任何命令行选项的情况下运行mongosh以连接到默认端口27017上运行的本地主机上的mongod

mongosh

有关使用 mongosh 连接的更多信息,例如连接到在不同主机和/或端口上运行的 mongod 实例,请参阅 mongosh 文档。

为了帮助您开始使用 MongoDB,MongoDB 提供了各种驱动程序版本的 入门指南。有关驱动程序文档,请参阅 开始使用 MongoDB 开发。

要从系统中完全删除MongoDB,您必须删除MongoDB应用程序本身、配置文件以及包含数据和日志的任何目录。以下部分将指导您完成必要的步骤。

警告

此过程将完全删除MongoDB、其配置和所有数据库。此过程不可逆,因此在进行操作之前,请确保所有配置和数据都已备份。

1

通过以下命令停止mongod进程

sudo service mongod stop
2

删除您之前安装的所有MongoDB软件包。

sudo zypper remove $(rpm -qa | grep mongodb-org)
3

删除MongoDB数据库和日志文件。

sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongo

默认情况下,MongoDB启动时将bindIp设置为127.0.0.1,这会将网络接口绑定到本地主机。这意味着mongod只能接受运行在同一台机器上的客户端的连接。远程客户端将无法连接到mongod,并且如果此值未设置为有效的网络接口,mongod将无法初始化副本集

此值可以通过以下方式配置

  • 在MongoDB配置文件中使用bindIp,或者

  • 通过命令行参数--bind_ip

警告

在将实例绑定到公开可访问的IP地址之前,您必须保护集群免受未经授权的访问。有关安全建议的完整列表,请参阅自管理部署安全清单。至少考虑启用身份验证加强网络基础设施

有关配置bindIp的更多信息,请参阅自管理部署中的IP绑定

MongoDB社区版可以从其专用存储库获取,并包含以下官方支持的软件包

软件包名称
描述
mongodb-org
一个自动安装以下组件软件包的元软件包
mongodb-org-database

一个自动安装以下组件软件包的元软件包

软件包名称
描述
mongodb-org-server
包含mongod守护进程、相关初始化脚本以及配置文件/etc/mongod.conf)。您可以使用初始化脚本配合配置文件启动mongod。详情请参阅上面“运行MongoDB社区版”部分。
mongodb-org-mongos
包含mongos守护进程。
mongodb-mongosh
包含MongoDB Shell(mongosh)。
mongodb-org-tools

一个自动安装以下组件软件包的元软件包

软件包名称
描述
mongodb-database-tools
mongodb-org-database-tools-extra
包含install_compass脚本

返回

使用 .tgz Tarball 安装