news 2026/7/10 6:10:35

openEuler系统下安装MongoDB的技术教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
openEuler系统下安装MongoDB的技术教程

你需要一份在openEuler系统下安装MongoDB的技术教程,我会按照环境准备→安装部署→配置启动→功能验证的流程,提供详细且可直接操作的步骤,同时覆盖开源版MongoDB(社区版)的核心配置要点。

一、环境说明

  • 系统版本:openEuler 20.03/LTS/22.03(x86_64/ARM64均适用,下文以x86_64为例)
  • MongoDB版本:7.0(社区版,当前稳定版)
  • 前提条件:拥有root权限,服务器能访问外网(或已准备MongoDB安装包)

二、步骤1:环境准备与依赖配置

1.1 更新系统并安装基础依赖
# 切换到root用户(若已为root可跳过)suroot# 更新系统包dnf update -y# 安装基础依赖(MongoDB运行所需)dnfinstall-ywgetnet-tools libcurl openssl
1.2 配置MongoDB官方yum源

openEuler基于RPM包管理,直接使用MongoDB官方yum源更便捷:

# 创建MongoDB的yum源配置文件vim/etc/yum.repos.d/mongodb-org-7.0.repo

将以下内容粘贴到文件中(适配openEuler的RHEL兼容架构):

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

说明:如果是ARM64架构,将x86_64替换为aarch64即可。

三、步骤2:安装MongoDB社区版

# 安装MongoDB完整包(包含服务端、客户端、工具)dnfinstall-y mongodb-org# 验证安装版本(确认安装成功)mongod --version

安装成功后,会输出类似如下版本信息:

db version v7.0.8 Build Info: { "version": "7.0.8", "gitVersion": "xxx", "openSSLVersion": "OpenSSL 1.1.1k 25 Mar 2021", "modules": [], "allocator": "tcmalloc", "environment": { "distmod": "rhel8", "distarch": "x86_64", "target_arch": "x86_64" } }

四、步骤3:MongoDB核心配置

3.1 创建数据和日志目录(默认目录需手动创建)
# 创建数据存储目录mkdir-p /var/lib/mongo# 创建日志存储目录mkdir-p /var/log/mongodb# 设置目录权限为mongodb用户(安装后自动创建的系统用户)chown-R mongodb:mongodb /var/lib/mongo /var/log/mongodbchmod-R755/var/lib/mongo /var/log/mongodb
3.2 修改MongoDB配置文件

MongoDB默认配置文件为/etc/mongod.conf,需调整关键配置以适配生产/测试环境:

vim/etc/mongod.conf

修改后的核心配置如下(保留注释,关键项修改):

# 网络配置net:port:27017# 默认端口,可自定义bindIp:0.0.0.0# 允许所有IP访问,测试环境用;生产环境改为具体IP# 数据存储storage:dbPath:/var/lib/mongo# 数据目录,对应上面创建的路径engine:wiredTiger# 默认存储引擎,高性能# 日志配置systemLog:destination:filepath:/var/log/mongodb/mongod.log# 日志文件路径logAppend:true# 日志追加模式,不覆盖旧日志# 进程管理processManagement:fork:true# 以守护进程方式运行pidFilePath:/var/run/mongodb/mongod.pid# PID文件路径# 副本集/单节点配置(单节点无需配置replicaSet,注释即可)# replication:# replSetName: rs0# 安全配置(测试环境可先关闭,生产环境必须开启认证)security:authorization:disabled# 临时关闭认证,后续可开启

说明:生产环境需开启authorization: enabled(认证),并创建管理员账户。

五、步骤4:启动MongoDB并设置开机自启

# 启动mongod服务systemctl start mongod# 设置开机自启systemctlenablemongod# 查看服务状态(确认是否active running)systemctl status mongod

若状态显示active (running),说明服务启动成功;若失败,可查看日志/var/log/mongodb/mongod.log定位问题。

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

如果客户端无法连接MongoDB,可临时关闭防火墙和SELinux(生产环境需配置规则,而非直接关闭):

# 临时关闭防火墙systemctl stop firewalld systemctl disable firewalld# 临时关闭SELinuxsetenforce0# 永久关闭SELinux(需重启服务器)sed-i's/^SELINUX=enforcing/SELINUX=disabled/'/etc/selinux/config

六、步骤5:功能验证与基础操作

6.1 连接MongoDB客户端
# 本地连接(默认无认证)mongo# 或使用新的客户端命令(MongoDB 6.0+推荐)mongosh
6.2 基础操作示例(创建数据库、集合、插入数据)
// 1. 创建/切换到test数据库(MongoDB无显式创建,首次写入即创建)use test// 2. 创建集合并插入数据db.user.insertOne({name:"openEuler",age:5,platform:"openEuler 22.03"})// 3. 查询数据db.user.find()// 4. 退出客户端exit

执行后若能看到插入的文档数据,说明MongoDB功能正常。

七、步骤6:生产环境必备配置(开启认证)

测试环境完成后,生产环境需开启用户认证,步骤如下:

# 1. 重新连接MongoDBmongosh# 2. 切换到admin数据库(系统库)use admin# 3. 创建管理员账户(拥有所有权限)db.createUser({user:"root", pwd:"MongoDB@123",# 自定义强密码roles:[{role:"root", db:"admin"}]})# 4. 退出客户端exit# 5. 修改配置文件开启认证vim/etc/mongod.conf# 将security下的authorization改为enabled:security: authorization: enabled# 6. 重启mongod服务使配置生效systemctl restart mongod# 7. 使用认证连接MongoDBmongosh -u root -p MongoDB@123 --authenticationDatabase admin

八、常见问题解决

  1. 启动失败:提示端口被占用
    查看端口占用:netstat -tulpn | grep 27017,杀死占用进程或修改mongod.conf中的port配置。
  2. 权限不足:无法写入数据/日志
    重新设置目录权限:chown -R mongodb:mongodb /var/lib/mongo /var/log/mongodb
  3. 外网无法连接
    确认bindIp0.0.0.0,且防火墙开放27017端口:firewall-cmd --add-port=27017/tcp --permanent && firewall-cmd --reload

总结

  1. 在openEuler下安装MongoDB的核心步骤为:配置官方yum源→安装包→创建数据/日志目录→修改配置→启动服务。
  2. 测试环境可临时关闭认证和防火墙,生产环境必须开启用户认证、限制IP访问并配置防火墙规则。
  3. 若遇到启动或连接问题,优先查看MongoDB日志文件/var/log/mongodb/mongod.log定位原因。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 7:33:11

多角度AI视觉革命:自然语言重塑图像视角控制新纪元

多角度AI视觉革命:自然语言重塑图像视角控制新纪元 【免费下载链接】Qwen-Edit-2509-Multiple-angles 项目地址: https://ai.gitcode.com/hf_mirrors/dx8152/Qwen-Edit-2509-Multiple-angles 在数字创意日益重要的今天,图像视角控制已成为内容创…

作者头像 李华
网站建设 2026/7/10 11:09:20

5大实战技巧:重新定义DeepSeek大模型推理性能

5大实战技巧:重新定义DeepSeek大模型推理性能 【免费下载链接】DeepSeek-V3.2-Exp DeepSeek-V3.2-Exp是DeepSeek推出的实验性模型,基于V3.1-Terminus架构,创新引入DeepSeek Sparse Attention稀疏注意力机制,在保持模型输出质量的同…

作者头像 李华
网站建设 2026/7/10 2:48:07

【Web第三周】『12.9-12.14』

【Web第三周】『12.9-12.14』 1.初步了解数据库(MySQL) 2.初步了解sql注入漏洞 3.练习sql语句 4.搭建sql靶场,找不到的,靶场文件群文件有 1、MySQL …

作者头像 李华
网站建设 2026/7/10 11:09:19

RustDesk隐私模式:实现远程操作完全隐藏的专业解决方案

RustDesk隐私模式:实现远程操作完全隐藏的专业解决方案 【免费下载链接】rustdesk 一个开源的远程桌面,是TeamViewer的替代选择。 项目地址: https://gitcode.com/GitHub_Trending/ru/rustdesk 在当今数字化工作环境中,远程桌面协助已…

作者头像 李华
网站建设 2026/7/10 11:10:45

如何快速掌握Lottie-web:提升开发效率的完整指南

如何快速掌握Lottie-web:提升开发效率的完整指南 【免费下载链接】lottie-web 项目地址: https://gitcode.com/gh_mirrors/lot/lottie-web 你是否曾经为网页动画效果而苦恼?手动编写复杂的CSS动画代码,调试各种浏览器兼容性问题&…

作者头像 李华
网站建设 2026/7/10 12:25:47

AI崛起,月薪5万的码农面临失业?未来职业何去何从?

AI工具崛起使基础编程工作被替代,初级程序员岗位需求断崖式下跌,薪资缩水20%。程序员职业分化为高端人才与普通使用者,转行成为常态。然而,技能虽会过时,编程思维永不过时。掌握大模型技能,提升核心竞争力&…

作者头像 李华