Linux系统下安装mongodb

1. 配置MongoDB的yum仓库

  1. 创建仓库文件

    复制代码
    sudo vi /etc/yum.repos.d/mongodb-org.repo
  2. 添加仓库配置

    根据系统版本选择配置(以下示例为CentOS 7和CentOS 9的配置):

    • CentOS 7(安装MongoDB 5.0/4.2等旧版本):

      复制代码
      Ini[mongodb-org-5.0]
      name=MongoDB Repository
      baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/5.0/x86_64/
      gpgcheck=1
      enabled=1
      gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc

      (若需其他版本,替换版本号即可)

      CentOS 9(安装MongoDB 7.0/8.0等新版本,推荐使用国内镜像):

      复制代码
      Ini[mongodb-org-7.0-wangyi163]
      name=MongoDB Community 7.0 Wangyi163 Repository
      baseurl=https://mirrors.163.com/mongodb/yum/el9-7.0/
      gpgcheck=1
      enabled=1
      gpgkey=https://pgp.mongodb.com/server-7.0.asc

2.安装MongoDB

  1. 更新yum缓存

    复制代码
    sudo yum clean all && sudo yum makecache
  2. 安装MongoDB

    • 默认安装最新版本:

      复制代码
      sudo yum install -y mongodb-org
    • 指定版本安装(例如7.0.7):

      复制代码
      yum install -y mongodb-org-7.0.7 mongodb-org-server-7.0.7 mongodb-mongosh-7.0.7

3.修改配置文件mongo.conf

  1. 先创建db文件夹

    mkdir -p /data/db

​ 2.修改/etc/mongo.conf,将数据存放到新创建的文件中

​ 3.修改bindIp,允许所有的ip都可以访问

4.安装客户端mongosh

复制代码
sudo apt install mongodb-mongosh

5.创建指定用户mongod

bash 复制代码
# 创建系统用户和组(不创建家目录)
sudo groupadd --system mongod
sudo useradd --system --no-create-home --gid mongod mongod
# 检查用户
id mongod

# 预期输出:
# uid=998(mongod) gid=997(mongod) groups=997(mongod)

修改systemd服务文件

bash 复制代码
sudo vim /etc/systemd/system/mongod.service
ini 复制代码
[Service]
User=mongod
Group=mongod

6.修改文件权限

bash 复制代码
[root@iZ2ze8n83kcbl9uudy7s5sZ ~]# sudo chown -R mongod:mongod /data/db
[root@iZ2ze8n83kcbl9uudy7s5sZ ~]# sudo chown -R mongod:mongod /var/log/mongodb
[root@iZ2ze8n83kcbl9uudy7s5sZ ~]# sudo chown mongod:mongod /tmp/mongodb-27017.sock

7.启动mongodb

bash 复制代码
[root@iZ2ze8n83kcbl9uudy7s5sZ ~]# sudo rm -f /tmp/mongodb-27017.sock
[root@iZ2ze8n83kcbl9uudy7s5sZ ~]# sudo systemctl restart mongod
[root@iZ2ze8n83kcbl9uudy7s5sZ ~]# sudo systemctl status mongod
● mongod.service - MongoDB Database Server
   Loaded: loaded (/etc/systemd/system/mongod.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2025-05-10 14:30:07 CST; 13s ago
 Main PID: 299398 (mongod)
    Tasks: 44 (limit: 11715)
   Memory: 195.2M
   CGroup: /system.slice/mongod.service
           └─299398 /usr/bin/mongod --config /etc/mongod.conf

May 10 14:30:07 iZ2ze8n83kcbl9uudy7s5sZ systemd[1]: Started MongoDB Database Server.

8.使用客户端连接

bash 复制代码
[root@iZ2ze8n83kcbl9uudy7s5sZ ~]# mongosh
相关推荐
春日见6 分钟前
控制算法:PP(纯跟踪)算法
linux·人工智能·驱动开发·算法·机器学习
HABuo30 分钟前
【Linux进程(四)】进程切换&环境变量深入剖析
linux·运维·服务器·c语言·c++·ubuntu·centos
oMcLin44 分钟前
如何在 Rocky Linux 8.7 上通过 Prometheus 与 Grafana 结合,提升大规模容器环境的监控与性能分析?
linux·grafana·prometheus
橘颂TA1 小时前
【Linux】死锁四条件的底层逻辑:从锁冲突到 STL 组件的线程安全实践(Ⅵ)
linux·运维·服务器·c++·死锁
埃伊蟹黄面1 小时前
ELF深入解剖:从文件头到动态段,图解库的二进制构成
linux·c·
五仁火烧1 小时前
生产环境中配置了接口3000后,不能启动,改成8080后就可以
linux·网络·安全·vue
JiMoKuangXiangQu1 小时前
Linux build:头文件安装
linux·headers_install
lbb 小魔仙2 小时前
【Linux】云原生运维效率提升:Linux 终端工具链(kubectl + tmux + fzf)组合拳教程
linux·运维·云原生
码农小韩2 小时前
基于Linux的C++学习——动态数组容器vector
linux·c语言·开发语言·数据结构·c++·单片机·学习
Joren的学习记录2 小时前
【Linux运维大神系列】Kubernetes详解3(kubeadm部署k8s1.23高可用集群)
linux·运维·kubernetes