麒麟os部署mongodb有四种方法:一、官方压缩包手动安装,适用于离线及信创场景;二、apt/yum源安装,适合联网快速部署;三、docker容器化,隔离依赖便于扩展;四、统一基础配置与验证,确保服务可用。

如果您在麒麟操作系统上需要部署MongoDB数据库,则可能面临系统架构适配、依赖缺失或服务启动失败等问题。以下是针对麒麟OS安装与基础数据库配置的多种可行方法:
一、通过官方压缩包手动安装
该方法适用于离线环境、ARM/x86架构定制化部署,不依赖系统软件源,可控性强,适合信创场景下的严格版本管理。
1、确认系统架构与版本:执行 uname -a && cat /etc/os-release 获取内核版本及麒麟具体发行版(如V10 SP2、openKylin 2.0等)。
2、下载匹配架构的MongoDB安装包:访问 https://www.mongodb.com/try/download/community,选择对应麒麟系统的版本(例如 mongodb-linux-x86_64-ubuntu2004-7.0.5.tgz 或 mongodb-linux-aarch64-amazon2-v7.0-latest.tgz)。
3、创建安装目录并解压:执行 sudo mkdir -p /usr/local/mongodb && sudo tar -zxvf mongodb-linux-*.tgz -C /usr/local/mongodb/,解压后重命名子目录为 bin(如 mv /usr/local/mongodb/mongodb-linux-*/ /usr/local/mongodb/bin)。
4、配置环境变量:编辑 ~/.bashrc,追加 export PATH=$PATH:/usr/local/mongodb/bin/bin,然后执行 source ~/.bashrc。
5、验证二进制可用性:运行 mongod --version 与 mongo --version(若无mongo工具,需单独下载MongoDB Shell或使用mongosh)。
二、基于APT/YUM源的包管理安装
该方法适用于联网环境且麒麟系统已启用兼容Ubuntu或RHEL生态的软件源,可自动解决依赖,适合快速验证部署。
1、更新系统包索引:对基于Debian系的麒麟(如openKylin),执行 sudo apt update;对基于RHEL系的(如Kylin V10 SPx),执行 sudo yum makecache。
2、导入MongoDB公钥:下载并注册GPG密钥,命令为 wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | sudo apt-key add -(Debian系)或 sudo rpm --import https://www.mongodb.org/static/pgp/server-7.0.asc(RHEL系)。
3、添加官方软件源:Debian系执行 echo "deb [arch=amd64,arm64] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list;RHEL系执行 echo "[mongodb-org-7.0]\nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/7.0/x86_64/\ngpgcheck=1\nenabled=1\ngpgkey=https://www.mongodb.org/static/pgp/server-7.0.asc" | sudo tee /etc/yum.repos.d/mongodb-org-7.0.repo。
4、安装MongoDB套件:执行 sudo apt install -y mongodb-org 或 sudo yum install -y mongodb-org。
5、启动并启用服务:运行 sudo systemctl start mongod && sudo systemctl enable mongod,随后用 sudo systemctl status mongod 确认运行状态。
三、使用Docker容器化部署
该方法规避宿主机环境差异,隔离依赖,便于多实例管理与后续集群扩展,特别适合开发测试及轻量级生产场景。
1、确保Docker已就绪:执行 docker --version 验证;若未安装,先部署Docker CE及docker-compose。
2、创建部署目录并编写docker-compose.yml:新建目录 mkdir -p ~/mongodb-docker && cd ~/mongodb-docker,创建文件内容如下:
version: '3.8'\nservices:\n mongo:\n image: mongo:7.0\n container_name: mongo-kylin\n ports:\n - "27017:27017"\n volumes:\n - ./data/db:/data/db\n - ./conf/mongod.conf:/etc/mongod.conf\n environment:\n MONGO_INITDB_ROOT_USERNAME: admin\n MONGO_INITDB_ROOT_PASSWORD: Kylin@2026\n command: ["--config", "/etc/mongod.conf"]
3、准备自定义配置文件:创建 ./conf/mongod.conf,写入最小必要配置,包括 storage.dbPath: /data/db、systemLog.destination: file、net.bindIp: 0.0.0.0 和 net.port: 27017。
4、赋予数据目录权限:执行 mkdir -p ./data/db && sudo chown -R 999:999 ./data/db(MongoDB容器默认以uid=999运行)。
5、启动容器实例:运行 docker-compose up -d,再用 docker-compose logs -f mongo 查看初始化日志。
四、基础数据库配置与验证
无论采用哪种安装方式,均需完成核心配置项设置以保障服务可访问、数据可持久、日志可追溯。
1、创建数据与日志目录:执行 sudo mkdir -p /data/db /logs,并赋予mongod用户读写权限:sudo chown -R mongod:mongod /data/db /logs(若为root启动则设为 root:root)。
2、编写或修改配置文件:编辑 /usr/local/mongodb/conf/mongodb.conf(手动安装)或 /etc/mongod.conf(包管理安装),确保包含以下关键段落:
storage:\n dbPath: /data/db\n journal:\n enabled: true\nsystemLog:\n destination: file\n logAppend: true\n path: /logs/mongodb.log\nnet:\n port: 27017\n bindIp: 127.0.0.1,::1
3、关闭系统防火墙或放行端口:对firewalld执行 sudo firewall-cmd --permanent --add-port=27017/tcp && sudo firewall-cmd --reload;对ufw执行 sudo ufw allow 27017。
4、启动服务并检查监听:运行 sudo mongod -f /path/to/mongod.conf(前台调试)或 sudo systemctl start mongod(后台服务),随后用 ss -tuln | grep :27017 确认端口已监听。
5、连接并执行简易验证:使用 mongosh "mongodb://127.0.0.1:27017/" --eval "db.runCommand({ping:1})",返回 { "pong" : 1, "ok" : 1 } 即表示服务响应正常。










