OpenEuler 系统安装 MongoDB 完整教程
2026/6/10 1:42:57 网站建设 项目流程

OpenEuler 系统安装 MongoDB 完整教程(在线+离线双方案)

文章简介

本文基于 OpenEuler 22.03 LTS / 24.03 LTS 主流版本,分别讲解联网DNF源快速安装、离线二进制包手动安装两种方式,覆盖环境准备、安装部署、配置优化、开机自启、远程访问、基础验证全流程,适配 x86_64 / aarch64(ARM)架构,适合服务器、虚拟机、信创环境落地使用。

环境说明

操作系统:OpenEuler 22.03 LTS SP2 / 24.03 LTS

数据库版本:MongoDB 4.4 / 5.0 / 8.0(社区版)

架构:x86_64、aarch64(ARM64)

运行模式:单机部署

一、前期环境检查与前置配置

1.1 查看系统架构与版本

# 查看系统架构(区分x86/ARM)

uname -m

# 查看OpenEuler版本

cat /etc/os-release

1.2 关闭防火墙与SELinux(测试环境可选)

生产环境建议放行端口,不直接关闭防火墙。

# 临时关闭防火墙

systemctl stop firewalld

# 禁止开机自启防火墙

systemctl disable firewalld

# 临时关闭SELinux

setenforce 0

# 永久关闭SELinux(重启生效)

sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

1.3 系统依赖安装

MongoDB 依赖基础系统库,提前安装:

dnf install -y libcurl openssl xz glibc

二、方案一:联网环境 DNF 源快速安装(推荐)

适用于服务器可访问外网,一键部署、自动配置服务,运维最简单。

2.1 配置 MongoDB 官方 YUM/DNF 源

创建源文件

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

写入以下源内容(以 MongoDB 8.0 为例)

[mongodb-org-8.0]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/8.0/x86_64/

gpgcheck=1

enabled=1

gpgkey=https://www.mongodb.org/static/pgp/server-8.0.asc

架构为 aarch64(ARM) 时,将 x86_64 替换为 aarch64。

2.2 执行安装

# 清空本地缓存

dnf clean all

dnf makecache

# 安装完整MongoDB套件(服务端+客户端+工具)

dnf install -y mongodb-org

2.3 启动服务并设置开机自启

# 启动服务

systemctl start mongod

# 开机自启

systemctl enable mongod

# 查看运行状态

systemctl status mongod

2.4 验证安装

# 查看版本

mongod --version

# 连接数据库(进入Mongo Shell)

mongosh

2.5 基础配置修改(远程访问)

默认仅本地 127.0.0.1 访问,如需局域网/公网连接,修改配置文件:

vi /etc/mongod.conf

修改两个核心参数:

# 绑定所有IP,允许远程连接

bindIp: 0.0.0.0

# 端口默认27017,可自定义

port: 27017

重启服务生效:

systemctl restart mongod

三、方案二:离线二进制包安装(无网络/信创环境专用)

适用于内网、隔离环境,不依赖软件源,版本可控,是离线部署标准方案。

3.1 下载离线安装包(有网机器操作)

前往 MongoDB 官网下载对应架构 .tgz 包:

官网地址:https://www.mongodb.com/try/download/community

常用下载链接(wget 直接下载)

# x86_64 MongoDB 4.4

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-4.4.18.tgz

# aarch64(ARM) MongoDB 4.4

wget https://fastdl.mongodb.org/linux/mongodb-linux-aarch64-rhel80-4.4.18.tgz

将下载好的 tgz 包通过 Xftp、U盘等方式上传至 OpenEuler 服务器。

3.2 解压并迁移目录

# 进入上传目录,解压压缩包

tar -zxvf mongodb-linux-*.tgz

# 移动到统一安装目录 /usr/local

mv mongodb-linux-* /usr/local/mongodb

3.3 创建数据、日志、配置目录

# 批量创建目录

mkdir -p /usr/local/mongodb/{data,logs,conf}

# 创建日志文件

touch /usr/local/mongodb/logs/mongodb.log

3.4 编写 MongoDB 配置文件

vi /usr/local/mongodb/conf/mongodb.conf

写入以下配置(标准单机配置):

# 数据存储目录

dbpath=/usr/local/mongodb/data

# 日志文件路径

logpath=/usr/local/mongodb/logs/mongodb.log

# 日志追加模式

logappend=true

# 后台守护进程启动

fork=true

# 监听端口

port=27017

# 允许所有IP远程访问

bind_ip=0.0.0.0

# 开启日志

journal=true

# 关闭安静模式

quiet=false

3.5 配置系统环境变量

全局调用 mongod、mongosh 命令:

vi /etc/profile

文件末尾追加:

export PATH=$PATH:/usr/local/mongodb/bin

生效环境变量:

source /etc/profile

# 验证命令

mongod --version

3.6 手动启动/停止数据库

# 启动MongoDB(指定配置文件)

mongod -f /usr/local/mongodb/conf/mongodb.conf

# 连接数据库

mongosh

# 正常关闭数据库(推荐)

mongosh --eval "db.adminCommand('shutdown')"

# 强制停止(不推荐,易损坏数据)

pkill mongod

3.7 配置 Systemd 开机自启(离线核心步骤)

手动安装默认无系统服务,创建 systemd 单元文件实现开机自启。

vi /usr/lib/systemd/system/mongod.service

写入内容:

[Unit]

Description=MongoDB Database Service

After=network.target

[Service]

Type=forking

ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf

ExecStop=/usr/local/mongodb/bin/mongosh --eval "db.adminCommand('shutdown')"

PrivateTmp=true

[Install]

WantedBy=multi-user.target

重新加载服务、设置开机自启:

systemctl daemon-reload

systemctl start mongod

systemctl enable mongod

systemctl status mongod

四、防火墙端口放行(生产环境必备)

若未关闭防火墙,需放行 MongoDB 默认端口 27017:

# 放行27017端口

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

# 重载防火墙规则

firewall-cmd --reload

# 查看已放行端口

firewall-cmd --list-ports

五、基础安全配置(账号认证)

MongoDB 默认无密码,生产环境必须开启身份认证。

5.1 登录数据库创建管理员账号

mongosh

# 切换到admin库

use admin

# 创建超级管理员

db.createUser({

user: "root",

pwd: "你的强密码",

roles: ["root"]

})

exit

5.2 修改配置开启认证

编辑配置文件,添加 auth=true:

DNF安装:vi /etc/mongod.conf

离线安装:vi /usr/local/mongodb/conf/mongodb.conf

添加配置:

auth=true

重启服务:

systemctl restart mongod

5.3 带密码连接数据库

# 方式1:连接时指定账号密码

mongosh -u root -p --authenticationDatabase admin

# 方式2:连接后认证

mongosh

use admin

db.auth("root","你的密码")

六、常见问题排错

端口被占用

# 查看27017端口占用

netstat -tulpn | grep 27017

# 结束占用进程

kill -9 进程ID

数据目录权限不足

# 赋予目录权限

chmod -R 755 /usr/local/mongodb

chown -R root:root /usr/local/mongodb

开机自启失效

执行 systemctl daemon-reload 重新加载服务配置。

远程无法连接

检查三点:bindIp=0.0.0.0、防火墙端口放行、SELinux 状态。

七、总结

联网环境:优先使用 DNF 源安装,命令少、自动管理服务,运维效率最高;

离线/内网/信创:使用 二进制包安装,版本灵活、适配所有架构;

生产环境三大底线:开启账号认证、放行指定端口、不直接关闭防火墙;

OpenEuler 兼容 RHEL 系列命令,MongoDB 部署逻辑与 CentOS 基本一致,可无缝迁移。

博客标签

OpenEuler MongoDB 数据库安装 离线部署 信创 Linux运维

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询