OpenEuler 系统安装 MongoDB 完整教程
OpenEuler 系统安装 MongoDB 完整教程在线离线双方案文章简介本文基于 OpenEuler 22.03 LTS / 24.03 LTS 主流版本分别讲解联网DNF源快速安装、离线二进制包手动安装两种方式覆盖环境准备、安装部署、配置优化、开机自启、远程访问、基础验证全流程适配 x86_64 / aarch64ARM架构适合服务器、虚拟机、信创环境落地使用。环境说明操作系统OpenEuler 22.03 LTS SP2 / 24.03 LTS数据库版本MongoDB 4.4 / 5.0 / 8.0社区版架构x86_64、aarch64ARM64运行模式单机部署一、前期环境检查与前置配置1.1 查看系统架构与版本# 查看系统架构区分x86/ARMuname -m# 查看OpenEuler版本cat /etc/os-release1.2 关闭防火墙与SELinux测试环境可选生产环境建议放行端口不直接关闭防火墙。# 临时关闭防火墙systemctl stop firewalld# 禁止开机自启防火墙systemctl disable firewalld# 临时关闭SELinuxsetenforce 0# 永久关闭SELinux重启生效sed -i s/^SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config1.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]nameMongoDB Repositorybaseurlhttps://repo.mongodb.org/yum/redhat/8/mongodb-org/8.0/x86_64/gpgcheck1enabled1gpgkeyhttps://www.mongodb.org/static/pgp/server-8.0.asc架构为 aarch64(ARM) 时将 x86_64 替换为 aarch64。2.2 执行安装# 清空本地缓存dnf clean alldnf makecache# 安装完整MongoDB套件服务端客户端工具dnf install -y mongodb-org2.3 启动服务并设置开机自启# 启动服务systemctl start mongod# 开机自启systemctl enable mongod# 查看运行状态systemctl status mongod2.4 验证安装# 查看版本mongod --version# 连接数据库进入Mongo Shellmongosh2.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.4wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-4.4.18.tgz# aarch64(ARM) MongoDB 4.4wget 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/localmv mongodb-linux-* /usr/local/mongodb3.3 创建数据、日志、配置目录# 批量创建目录mkdir -p /usr/local/mongodb/{data,logs,conf}# 创建日志文件touch /usr/local/mongodb/logs/mongodb.log3.4 编写 MongoDB 配置文件vi /usr/local/mongodb/conf/mongodb.conf写入以下配置标准单机配置# 数据存储目录dbpath/usr/local/mongodb/data# 日志文件路径logpath/usr/local/mongodb/logs/mongodb.log# 日志追加模式logappendtrue# 后台守护进程启动forktrue# 监听端口port27017# 允许所有IP远程访问bind_ip0.0.0.0# 开启日志journaltrue# 关闭安静模式quietfalse3.5 配置系统环境变量全局调用 mongod、mongosh 命令vi /etc/profile文件末尾追加export PATH$PATH:/usr/local/mongodb/bin生效环境变量source /etc/profile# 验证命令mongod --version3.6 手动启动/停止数据库# 启动MongoDB指定配置文件mongod -f /usr/local/mongodb/conf/mongodb.conf# 连接数据库mongosh# 正常关闭数据库推荐mongosh --eval db.adminCommand(shutdown)# 强制停止不推荐易损坏数据pkill mongod3.7 配置 Systemd 开机自启离线核心步骤手动安装默认无系统服务创建 systemd 单元文件实现开机自启。vi /usr/lib/systemd/system/mongod.service写入内容[Unit]DescriptionMongoDB Database ServiceAfternetwork.target[Service]TypeforkingExecStart/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.confExecStop/usr/local/mongodb/bin/mongosh --eval db.adminCommand(shutdown)PrivateTmptrue[Install]WantedBymulti-user.target重新加载服务、设置开机自启systemctl daemon-reloadsystemctl start mongodsystemctl enable mongodsystemctl status mongod四、防火墙端口放行生产环境必备若未关闭防火墙需放行 MongoDB 默认端口 27017# 放行27017端口firewall-cmd --permanent --add-port27017/tcp# 重载防火墙规则firewall-cmd --reload# 查看已放行端口firewall-cmd --list-ports五、基础安全配置账号认证MongoDB 默认无密码生产环境必须开启身份认证。5.1 登录数据库创建管理员账号mongosh# 切换到admin库use admin# 创建超级管理员db.createUser({user: root,pwd: 你的强密码,roles: [root]})exit5.2 修改配置开启认证编辑配置文件添加 authtrueDNF安装vi /etc/mongod.conf离线安装vi /usr/local/mongodb/conf/mongodb.conf添加配置authtrue重启服务systemctl restart mongod5.3 带密码连接数据库# 方式1连接时指定账号密码mongosh -u root -p --authenticationDatabase admin# 方式2连接后认证mongoshuse admindb.auth(root,你的密码)六、常见问题排错端口被占用# 查看27017端口占用netstat -tulpn | grep 27017# 结束占用进程kill -9 进程ID数据目录权限不足# 赋予目录权限chmod -R 755 /usr/local/mongodbchown -R root:root /usr/local/mongodb开机自启失效执行 systemctl daemon-reload 重新加载服务配置。远程无法连接检查三点bindIp0.0.0.0、防火墙端口放行、SELinux 状态。七、总结联网环境优先使用 DNF 源安装命令少、自动管理服务运维效率最高离线/内网/信创使用 二进制包安装版本灵活、适配所有架构生产环境三大底线开启账号认证、放行指定端口、不直接关闭防火墙OpenEuler 兼容 RHEL 系列命令MongoDB 部署逻辑与 CentOS 基本一致可无缝迁移。博客标签OpenEuler MongoDB 数据库安装 离线部署 信创 Linux运维