在 openEuler 24.03 LTS 上使用 yum安装 MongoDB 7.0.22

在 openEuler 24.03 LTS 上使用 yum(实际为 dnf,openEuler 兼容 RHEL 的包管理器)安装 MongoDB 7.0.22 的步骤如下(推荐生产环境使用官方仓库安装,便于后续升级和维护):

一、系统要求


操作系统:openEuler 24.03 LTS(x86_64 架构)。
内核版本:建议 4.18 及以上(当前系统已满足)。
磁盘空间:至少 10GB(数据目录+日志目录)。
内存:建议 8GB 及以上(根据业务需求调整)。

二、准备工作


1. 卸载旧版本(如有)


若系统已安装旧版 MongoDB(如通过 yum 安装的 4.x/5.x),需先彻底卸载:

# 停止旧服务
 

sudo systemctl stop mongod mongos

# 移除旧 RPM 包(会自动删除 /var/lib/mongodb 等目录,谨慎操作!)
 

sudo dnf remove -y mongodb-org*

# 清理残留配置(可选)
 

sudo rm -rf /etc/mongod.conf /etc/mongos.conf
2. 安装依赖


MongoDB 7.0 需要以下依赖,openEuler 24.03 通常已预装,缺失时手动安装:

sudo dnf install -y libcurl openssl libstdc++ python3


三、添加 MongoDB 官方 YUM 仓库


MongoDB 官方为 RHEL 兼容系统(如 openEuler)提供了专用仓库,需先导入 GPG 密钥并配置仓库文件。

1. 导入 GPG 密钥(验证包完整性)

sudo rpm --import https://pgp.mongodb.com/server-7.0.asc


2. 创建 YUM 仓库配置文件


根据 openEuler 24.03 对应的 RHEL 版本(openEuler 24.03 基于 RHEL 9 内核,兼容 RHEL 9 的包),创建 /etc/yum.repos.d/mongodb-org.repo 文件:

sudo vi /etc/yum.repos.d/mongodb-org.repo

[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-7.0.asc


四、使用 yum 安装 MongoDB 7.0.22


1. 刷新 YUM 缓存

sudo dnf clean all   # 清理旧缓存
sudo dnf makecache   # 重新生成缓存(会自动拉取新仓库的元数据)


2. 安装 MongoDB 核心组件


MongoDB 官方仓库默认提供 mongodb-org 元包(包含 mongod 服务端、mongo 客户端等),安装时指定版本为 7.0.22:

sudo dnf install -y mongodb-org-7.0.22 mongodb-org-server-7.0.22 mongodb-org-shell-7.0.22 mongodb-org-mongos-7.0.22 mongodb-org-tools-7.0.22

3. 缺失mongodb-org-shell-7.0.22

sudo dnf list available mongodb-org-*  #查看可用包列表 是否有 mongodb-org-shell-7.0.22包

sudo dnf remove -y mongodb-org-shell-7.0.22  # 忽略不存在的包提示
sudo dnf install -y mongodb-org-7.0.22  # 安装 mongodb 7.0.22


五、启动 MongoDB 服务


1. 启动服务

sudo systemctl start mongod

2.开机自动启动

sudo systemctl enable mongod


2. 检查服务状态 # 应显示 "active (running)"

sudo systemctl status mongod  


六、验证安装


1. 连接 MongoDB Shell
mongosh  # 或 /usr/bin/mongo(旧版本客户端)

2. 查看版本


在 MongoDB Shell 中执行:

db.version()  # 应输出 "7.0.22"

 七、配置 MongoDB


安装完成后,默认配置文件位于 /etc/mongod.conf,需根据需求调整关键参数。

 修改 mongod.conf 中的路径

sudo vi /etc/mongod.conf

1. 修改以下配置 允许远程连接(生产环境建议限制为具体 IP):

net:
  port: 27017  # 监听端口(默认即可)
  bindIp: 0.0.0.0  # 允许远程连接(生产环境建议限制为具体 IP)

2. 配置数据目录和日志目录(推荐自定义路径)

 2.1. 默认数据目录为 /var/lib/mongo,日志目录为 /var/log/mongodb,若需修改:

sudo mkdir -p /data/mongodb/data/db  # 自定义数据目录
sudo mkdir -p /data/mongodb/logs     # 自定义日志目录

 2.2. 创建自定义目录的权限(重要!)

MongoDB 服务默认以 mongod 用户运行,需确保自定义目录的权限正确:

sudo useradd -r -s /sbin/nologin mongod  # 若未自动创建该用户
sudo chown -R mongod:mongod /data/mongodb/{data,logs}
sudo chown mongod:mongod /var/run/mongodb  # PID 文件目录权限

sudo vi /etc/mongod.conf

storage:
  dbPath: /data/mongodb/data/db  # 新数据目录
# journal:
#  enabled: true  # 生产环境必须启用日志
# 仅当 MongoDB 版本 <5.0 时需要,7.0+ 可省略或注释
# 或直接删除 journal.enabled 行(7.0+ 自动管理日志)

systemLog:
  destination: file
  logAppend: true
  path: /data/mongodb/logs/mongod.log  # 新日志路径

net:
  port: 27017  # 监听端口(默认即可)
  bindIp: 0.0.0.0  # 允许远程连接(生产环境建议限制为具体 IP)

processManagement:
  fork: true  # 后台运行
  pidFilePath: /var/run/mongodb/mongod.pid  # PID 文件路径(需确保存在)

3. 重新加载服务配置(修改配置文件后必须执行)

sudo systemctl daemon-reload

再次执行

五、启动 MongoDB 服务

六、验证安装


八、常见问题处理


1. 启动失败:端口被占用


检查端口占用:ss -tlnp | grep 27017。
终止冲突进程或修改 /etc/mongod.conf 中的 net.port。


2. 权限不足错误


错误日志示例:Permission denied 访问 /data/mongodb/data/db。
解决:确保 mongod 用户对数据目录、日志目录有读写权限(chown -R mongod:mongod /path)。


3. SELinux 或防火墙阻止连接


SELinux:临时关闭测试(setenforce 0),永久关闭需修改 /etc/selinux/config 中的 SELINUX=disabled。
防火墙(firewalld):开放 27017 端口:

sudo firewall-cmd --add-port=27017/tcp --permanent
sudo firewall-cmd --reload


4. 仓库无法访问(下载包失败)


检查网络连接是否正常。
确认仓库 URL 正确(/etc/yum.repos.d/mongodb-org.repo 中的 baseurl 是否指向 RHEL 9 的 7.0 版本)。


九、后续操作建议


启用身份验证(生产环境必须):
编辑 /etc/mongod.conf,添加 security.authorization: enabled,重启服务后创建管理员账号:

use admin

db.createUser({
  user: "admin",
  pwd: passwordPrompt(),  # 输入密码
  roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
})

openEuler 24.03 LTS-SP2 上安装 MongoDB 的过程可以分为以下几个步骤: ### 3.1 配置 MongoDBYUM 仓库 MongoDB 并未直接包含在 openEuler 的默认仓库中,因此需要手动添加 MongoDB 官方的 YUM 仓库。 编辑或创建一个新的 repo 文件: ```bash sudo vi /etc/yum.repos.d/mongodb-org.repo ``` 在文件中添加以下内容(以 MongoDB 6.0 为例): ```ini [mongodb-org-6.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/6.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc ``` 保存并退出。 ### 3.2 安装 MongoDB 使用以下命令安装 MongoDB: ```bash sudo dnf install -y mongodb-org ``` 该命令将安装 MongoDB 的完整套件,包括 `mongod`(数据库服务)、`mongo`(客户端 shell)、`mongos`(分片路由器)等组件。 ### 3.3 启动并启用 MongoDB 服务 安装完成后,启动 MongoDB 服务并设置为开机自启: ```bash sudo systemctl start mongod sudo systemctl enable mongod ``` 检查服务状态以确保 MongoDB 正常运行: ```bash sudo systemctl status mongod ``` ### 3.4 配置 MongoDB MongoDB 的主配置文件位于 `/etc/mongod.conf`。可以根据需要修改配置,例如绑定 IP、端口、日志路径等。 默认配置适用于大多数开发环境。如需部署到生产环境,建议根据实际需求调整以下参数: - `bindIp`:指定 MongoDB 监听的 IP 地址,例如 `127.0.0.1,192.168.1.10`。 - `storage.dbPath`:指定数据存储路径。 - `logPath`:指定日志文件路径。 - `security.authorization`:启用访问控制。 修改配置后,重启 MongoDB 服务以生效: ```bash sudo systemctl restart mongod ``` ### 3.5 验证 MongoDB 是否安装成功 连接到 MongoDB shell 并执行简单命令: ```bash mongo ``` 在 shell 中输入以下命令查看数据库列表: ```javascript show dbs ``` 如果看到默认的数据库列表(如 `admin`, `local`),说明 MongoDB 已成功启动并运行。 ### 3.6 安装 MongoDB 工具(可选) 如果需要使用 MongoDB 的导入导出工具(如 `mongodump`, `mongorestore`),可以额外安装 MongoDB 工具包: ```bash sudo dnf install -y mongodb-org-tools ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值