官方手册参考:
https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-red-hat/
Mongodb支持的版本
安装 MongoDB 社区版
按照以下步骤使用包管理器安装 MongoDB Community Edition yum。
- 配置包管理系统 ( yum)
创建一个/etc/yum.repos.d/mongodb-org-7.0.repo文件,以便您可以使用以下命令直接安装 MongoDB
yum:
[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-7.0.asc
-
安装 MongoDB 包。
sudo yum install -y mongodb-org
或者,要安装特定版本的 MongoDB,请单独指定每个组件包并将版本号附加到包名称中,如下例所示
sudo yum install -y mongodb-org-7.0.6 mongodb-org-database-7.0.6 mongodb-org-server-7.0.6 mongodb-mongosh-7.0.6 mongodb-org-mongos-7.0.6 mongodb-org-tools-7.0.6
note: yum当有新版本可用时自动升级软件包。如果您想阻止 MongoDB
升级,请通过将以下exclude指令添加到您的/etc/yum.conf文件中来固定程序包:exclude=mongodb-org,mongodb-org-database,mongodb-org-server,mongodb-mongosh,mongodb-org-mongos,mongodb-org-tools
运行 MongoDB 社区版
ulimit(非必选,可了解)
大多数类 Unix 操作系统都会限制进程可以使用的系统资源。这些限制可能会对 MongoDB
操作产生负面影响,应该进行调整。请参阅UNIXulimit设置以获取针对您的平台的推荐设置。
目录路径
使用默认目录
默认情况下,MongoDB 使用用户帐户运行mongod并使用以下默认目录:
- /var/lib/mongo(数据目录)
- /var/log/mongodb(日志目录)
包管理器在安装过程中创建默认目录。所有者和组名称是mongod。
使用非默认目录
要使用默认目录之外的数据目录和/或日志目录:
- 创建一个或多个新目录。
- 编辑配置文件/etc/mongod.conf并相应修改以下字段:
- storage.dbPath指定新的数据目录路径(例如/some/data/directory)
- systemLog.path指定新的日志文件路径(例如/some/log/directory/mongod.log)
-
确保运行 MongoDB 的用户有权访问该目录:
sudo chown -R mongod:mongod <directory>
如果更改运行 MongoDB 进程的用户,则必须 授予新用户对这些目录的访问权限。
初始化系统
-
启动 MongoDB
sudo systemctl start mongod
如果您在启动时收到类似以下内容的错误 mongod:
Failed to start mongod.service: Unit mongod.service not found.
首先运行以下命令:sudo systemctl daemon-reload
然后再次运行上面的启动命令。 -
验证 MongoDB 是否已成功启动
mongod您可以通过发出以下命令来验证该进程是否已成功启动:sudo systemctl status mongod
管理mongod
重启: systemctl restart mongod
停止: systemctl stop mongod
自启: systemctl enable mongod -
开始使用 MongoDB
开始一个mongosh会话与 mongod. 你可以运行mongosh没有任何命令行选项来连接到 mongod在本地主机上运行的默认端口 27017。
mongosh
# mongosh Current Mongosh Log ID: 65ee6d440471a450f8f43532 Connecting to: mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.1.5 Using MongoDB: 7.0.6 Using Mongosh: 2.1.5 For mongosh info see: https://docs.mongodb.com/mongodb-shell/ To help improve our products, anonymous usage data is collected and sent to MongoDB periodically (https://www.mongodb.com/legal/privacy-policy). You can opt-out by running the disableTelemetry() command. ------ The server generated these startup warnings when booting 2024-03-11T10:20:16.976+08:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted 2024-03-11T10:20:16.976+08:00: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never' 2024-03-11T10:20:16.976+08:00: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. We suggest setting it to 'never' 2024-03-11T10:20:16.976+08:00: vm.max_map_count is too low ------ Deprecation warnings: - Using mongosh on the current operating system is deprecated, and support may be removed in a future release. See https://www.mongodb.com/docs/mongodb-shell/install/#supported-operating-systems for documentation on supported platforms. test>
卸载 MongoDB 社区版
要从系统中完全删除 MongoDB,您必须删除 MongoDB 应用程序本身、配置文件以及包含数据和日志的任何目录。以下部分将指导您完成必要的步骤
此过程将完全删除 MongoDB、其配置和所有 数据库。此过程不可逆,因此请确保在继续之前备份所有配置和数据。
-
停止 MongoDB
mongod通过发出以下命令来停止该进程:systemctl stop mongod
-
删除包
删除您之前安装的所有 MongoDB 软件包。yum -y erase `rpm -qa | grep mongodb*`
-
删除数据目录。
删除 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
使用二进制安装包安装 MongoDB
参考官方文档:
https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-red-hat-tarball/