在 SUSE 上安装 MongoDB 社区版
概览
使用本教程安装 MongoDB 8.0社区版在 SUSE Linux Enterprise Server (SLES) 上使用zypper
软件包管理器。
MongoDB 版本
此教程安装 MongoDB 8.0 版本。社区要安装不同版本的 MongoDB社区,请使用页面右上角的版本下拉菜单选择该版本的文档。
注意事项
平台支持
MongoDB 8.0 社区版支持以下内容64位 SUSE Linux Enterprise Server (SLES) 版本x86_64 架构
SLES 15
MongoDB 只支持这些平台的64位版本。
有关更多信息,请参阅平台支持。
生产注意事项
在生产环境中部署 MongoDB 之前,请考虑阅读自托管部署的生产注意事项文档,该文档提供了关于生产 MongoDB 部署的性能考虑和建议。
安装 MongoDB 社区版
按照以下步骤安装 MongoDB社区使用 zypper
软件包管理器。
安装MongoDB软件包。
要安装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版本的适当文档。
运行 MongoDB 社区版
ulimit 考虑事项
大多数类 Unix 操作系统限制进程可能使用的系统资源。这些限制可能会对 MongoDB 的运行产生负面影响,并且应该进行调整。有关您平台推荐的设置,请参阅自托管部署的 UNIX ulimit
设置。
注意
如果 ulimit
的打开文件数量小于 64000
,MongoDB 会生成启动警告。
目录
默认情况下,MongoDB 实例存储
其数据文件在
/var/lib/mongo
其日志文件在
/var/log/mongodb
如果您通过包管理器安装,这些默认目录将在安装期间创建。
如果您通过下载tar包手动安装,可以使用mkdir -p <目录>
或sudo mkdir -p <目录>
命令创建目录,具体取决于运行MongoDB的用户。请查阅Linux man页面以获取有关mkdir
和sudo
的信息。
默认情况下,MongoDB使用mongod
用户账户运行。如果您更改运行MongoDB进程的用户,您必须也修改/var/lib/mongo
和/var/log/mongodb
目录的权限,以便此用户能够访问这些目录。
要指定不同的日志文件目录和数据文件目录,请编辑/etc/mongod.conf
中的systemLog.path
和storage.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)
标签。
验证MongoDB是否已成功启动。
您可以通过以下命令验证 mongod
进程是否已成功启动:
sudo systemctl status mongod
您可以可选地通过以下命令确保系统重启后MongoDB会自动启动:
sudo systemctl enable mongod
停止MongoDB。
如有需要,您可以通过以下命令停止 mongod
进程:
sudo systemctl stop mongod
重启 MongoDB。
您可以通过以下命令重启 mongod
进程:
sudo systemctl restart mongod
您可以通过查看 /var/log/mongodb/mongod.log
文件中的输出,来跟踪进程的状态,查找错误或重要消息。
开始使用 MongoDB。
启动一个在与 mongod
相同的主机上的 mongosh
会话。您可以在没有任何命令行选项的情况下运行 mongosh
,以连接到在您的本地主机上以默认端口 27017 运行的 mongod
。
mongosh
有关使用 mongosh
连接的更多信息,例如连接到在不同主机和/或端口上运行的 mongod
实例,请参阅 mongosh 文档。
为了帮助您开始使用 MongoDB,MongoDB 提供了各种驱动程序版本的 入门指南。有关驱动程序文档,请参阅 开始使用 MongoDB 开发。
启动 MongoDB。
您可以通过以下命令启动 mongod
进程:
sudo service mongod start
验证 MongoDB 是否成功启动
您可以通过检查位于 /var/log/mongodb/mongod.log
的日志文件内容,来验证 mongod
进程是否成功启动。
[initandlisten] waiting for connections on port <port>
其中,<port>
是在 /etc/mongod.conf
中配置的端口号,默认为 27017
。
您可以可选地通过以下命令确保系统重启后MongoDB会自动启动:
sudo chkconfig mongod on
停止 MongoDB。
如有需要,您可以通过以下命令停止 mongod
进程:
sudo service mongod stop
重启MongoDB.
您可以通过以下命令重启 mongod
进程:
sudo service mongod restart
您可以通过查看 /var/log/mongodb/mongod.log
文件中的输出,来跟踪进程的状态,查找错误或重要消息。
开始使用MongoDB.
在与mongod
相同的宿主机上启动一个mongosh
会话。您可以在没有任何命令行选项的情况下运行mongosh
以连接到默认端口27017上运行的本地主机上的mongod
。
mongosh
有关使用 mongosh
连接的更多信息,例如连接到在不同主机和/或端口上运行的 mongod
实例,请参阅 mongosh 文档。
为了帮助您开始使用 MongoDB,MongoDB 提供了各种驱动程序版本的 入门指南。有关驱动程序文档,请参阅 开始使用 MongoDB 开发。
卸载MongoDB社区版
要从系统中完全删除MongoDB,您必须删除MongoDB应用程序本身、配置文件以及包含数据和日志的任何目录。以下部分将指导您完成必要的步骤。
警告
此过程将完全删除MongoDB、其配置和所有数据库。此过程不可逆,因此在进行操作之前,请确保所有配置和数据都已备份。
附加信息
默认绑定到本地主机
默认情况下,MongoDB启动时将bindIp
设置为127.0.0.1
,这会将网络接口绑定到本地主机。这意味着mongod
只能接受运行在同一台机器上的客户端的连接。远程客户端将无法连接到mongod
,并且如果此值未设置为有效的网络接口,mongod
将无法初始化副本集。
此值可以通过以下方式配置
在MongoDB配置文件中使用
bindIp
,或者通过命令行参数
--bind_ip
有关配置bindIp
的更多信息,请参阅自管理部署中的IP绑定。
MongoDB社区版软件包
MongoDB社区版可以从其专用存储库获取,并包含以下官方支持的软件包
软件包名称 | 描述 | ||||||
---|---|---|---|---|---|---|---|
mongodb-org | 一个自动安装以下组件软件包的 元软件包 。 | ||||||
mongodb-org-database | |||||||
mongodb-mongosh | 包含MongoDB Shell( mongosh )。 | ||||||
mongodb-org-tools | 一个自动安装以下组件软件包的
|