当前位置: 首页 > news >正文

MongoDB 数据库服务搭建(单机)

下载地址        下载测试数据

作者:程序那点事儿 日期:2023/02/15 02:16


  1. 进入下载页,选择版本后,右键Download复制连接地址

  2. 下载安装包

    ​
    wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.14.tgz​

  3. 解压安装包
    tar -zxvf mongodb-linux-x86_64-rhel70-5.0.14.tgz -C /usr/local/
    mv mongodb-linux-x86_64-rhel70-5.0.14/ mongodb5.0.14/            #重命名一下
  4. 配置环境变量

    a.cd mongodb5.0.14/
    b.pwd                                    #显示安装路径,配置时复制
    c.vim /etc/profile                    #配置PATH

    export PATH=/usr/local/mongodb5.0.14/bin:$PATH

  5. 刷新
    d.source /etc/profile                #刷新

  6. 安装
    1. Linux下我们使用tgz格式的安装包进行安装,没有像windows那样可以使用msi进行简易安装,所以,它这个包是不全的,我们需要进入mongodb目录再手动创建两个目录,data和log,data目录是用于存放数据的,log目录是用于存放日志文件的。

    2. 创建目录
      • mkdir data
      • mkdir logs
    3. 创建配置文件
    • 因为该安装包不包含配置文件,我们需要去bin目录下面写一个mongodb的配置文件

    • cd bin/

    • vi mongodb.conf

      #端口号 默认为27017
      port=27017#数据库数据存放目录
      dbpath=/usr/local/mongodb5.0.14/data#数据库日志存放目录
      logpath=/usr/local/mongodb5.0.14/logs/mongodb.log# pid存储路径
      pidfilepath = /var/run/mongo.pid#以追加的方式记录日志
      logappend = true#以后台方式运行进程
      fork=true#开启用户认证
      #auth=true#最大同时连接数
      maxConns=100#这样就可外部访问了,例如从win10中去连虚拟机中的MongoDB
      bind_ip = 0.0.0.0#每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。
      #启用日志文件,默认启用
      journal=true#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
      quiet=true
  7. 启动服务
    ./mongod -f mongodb.conf

  8. 连接服务
    ./mongo

  9. 停止服务
    因为我们启动服务时没有使用系统服务启动(参考后面一步),停止服务需要使用kill命令
    • ps -ef | grep mongo
    • kill 56552
  10. 使用系统服务启动(可选操作)
    • 在/etc/init.d/路径下创建启动脚本  vim /etc/init.d/mongod
      #!/bin/sh  
      # chkconfig:  #MogoDB home directory  
      MONGODB_HOME=/usr/local/mongodb5.0.14/#mongodb command  
      MONGODB_BIN=$MONGODB_HOME/bin/mongod#mongodb config file
      MONGODB_CONF=$MONGODB_HOME/bin/mongodb.conf#mongodb PID
      MONGODB_PID=/var/run/mongo.pid#set open file limit
      SYSTEM_MAXFD=65535MONGODB_NAME="mongodb"
      . /etc/rc.d/init.d/functionsif [ ! -f $MONGODB_BIN ]
      thenecho "$MONGODB_NAME startup: $MONGODB_BIN not exists! "  exit
      fistart(){ulimit -HSn $SYSTEM_MAXFD$MONGODB_BIN --config="$MONGODB_CONF"  --fork ##added ret=$?if [ $ret -eq 0 ]; thenaction $"Starting $MONGODB_NAME: " /bin/trueelseaction $"Starting $MONGODB_NAME: " /bin/falsefi}stop(){PID=$(ps aux |grep "$MONGODB_NAME" |grep "$MONGODB_CONF" |grep -v grep |wc -l) if [[ $PID -eq 0  ]];thenaction $"Stopping $MONGODB_NAME: " /bin/falseexitfikill -HUP `cat $MONGODB_PID`ret=$?if [ $ret -eq 0 ]; thenaction $"Stopping $MONGODB_NAME: " /bin/truerm -f $MONGODB_PIDelse   action $"Stopping $MONGODB_NAME: " /bin/falsefi}restart() {stopsleep 2start
      }case "$1" instart)start;;stop)stop;;status)status $prog;;restart)restart;;*)echo $"Usage: $0 {start|stop|status|restart}"
      esac
      

      设置权限  chmod 755 /etc/init.d/mongod

    • 启动MongoDB
      • systemctl start mongod #启动失败是,mongodb.service被屏蔽了
      • 解决启动失败

        sudo systemctl unmask mongodb        #将服务取消屏蔽
        systemctl start mongod                #发现启动成功了!

  11. 关闭防火墙
    systemctl status firewalld         #查看状态
    systemctl stop firewalld           #关闭
    systemctl disable firewalld        #永久关闭

    如果外部要访问,需要开放防火墙端口,我们选择关闭防火墙。

  12. 访问测试
    mongo            #输入mongo命令(或:mongo --host 127.0.0.1:27017)使用本地客户端进行访问
    show dbs            #查看一下数据库

  13. 停止服务
    systemctl stop mongod          #使用系统服务停止服务
    db.shutdownServer()            #优雅停服,防止数据丢失

http://www.lryc.cn/news/455019.html

相关文章:

  • 基于springboot+小程序的智慧物业平台管理系统(物业1)
  • [SpringBoot] 苍穹外卖--面试题总结--上
  • [C#]使用onnxruntime部署yolov11-onnx实例分割模型
  • Polars的Config
  • 【面试官】 多态连环问
  • Vue 路由设置
  • 力扣110:判断二叉树是否为平衡二叉树
  • Chromium 中JavaScript Fetch API接口c++代码实现(一)
  • ARM(5)内存管理单元MMU
  • 文件上传漏洞原理
  • Web安全 - 安全防御工具和体系构建
  • 服务器数据恢复—raid磁盘故障导致数据库文件损坏的数据恢复案例
  • requests 中data=xxx、json=xxx、params=xxx 分别什么时候用
  • 毕设 大数据抖音短视频数据分析与可视化(源码)
  • 【SQL】深入理解SQL:从基础概念到常用命令
  • 一文看懂计算机中的大小端(Endianess)
  • 如何给父母安排体检?
  • C++之模版进阶篇
  • Vue3 中的 `replace` 属性:优化路由导航的利器
  • vite学习教程06、vite.config.js配置
  • 【大数据】Flink CDC 实时同步mysql数据
  • JavaEE: 深入解析HTTP协议的奥秘(1)
  • OpenStack Yoga版安装笔记(十六)Openstack网络理解
  • PEFT库和transformers库在NLP大模型中的使用和常用方法详解
  • 静止坐标系和旋转坐标系变换的线性化,锁相环线性化通用推导
  • AI学习指南深度学习篇-学习率衰减的变体及扩展应用
  • 成都睿明智科技有限公司真实可靠吗?
  • 力扣6~10题
  • IntelliJ IDEA 2024.2 新特性概览
  • C++基础(12)——初识list