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

news2024/10/4 10:45:15

下载地址        下载测试数据

作者:程序那点事儿 日期: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=65535
      
      MONGODB_NAME="mongodb"
      . /etc/rc.d/init.d/functions
      
      if [ ! -f $MONGODB_BIN ]
      then
          echo "$MONGODB_NAME startup: $MONGODB_BIN not exists! "  
          exit
      fi
      
      start(){
       ulimit -HSn $SYSTEM_MAXFD
       $MONGODB_BIN --config="$MONGODB_CONF"  --fork ##added 
       ret=$?
       if [ $ret -eq 0 ]; then
          action $"Starting $MONGODB_NAME: " /bin/true
       else
          action $"Starting $MONGODB_NAME: " /bin/false
       fi
      
      }
      
      stop(){
          PID=$(ps aux |grep "$MONGODB_NAME" |grep "$MONGODB_CONF" |grep -v grep |wc -l) 
          if [[ $PID -eq 0  ]];then
          action $"Stopping $MONGODB_NAME: " /bin/false
          exit
          fi
          kill -HUP `cat $MONGODB_PID`
          ret=$?
          if [ $ret -eq 0 ]; then
                  action $"Stopping $MONGODB_NAME: " /bin/true
                  rm -f $MONGODB_PID
          else   
                  action $"Stopping $MONGODB_NAME: " /bin/false
          fi
      
      }
      
      restart() {
      
          stop
          sleep 2
          start
      }
      
      case "$1" in
          start)
                  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.coloradmin.cn/o/2187854.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开放式耳机哪个品牌好?好用且高性价比的开放式蓝牙耳机推荐

相信很多经常运动的朋友都不是很喜欢佩戴入耳式耳机,因为入耳式耳机真的有很多缺点。 安全方面:在安全上就很容易存在隐患,戴上后难以听到周围环境声音,像汽车鸣笛、行人呼喊等,容易在运动中发生意外。 健康方面&…

智慧管控平台技术解决方案

1. 智慧管控平台概述 智慧管控平台采用先进的AI技术,围绕一个中心和四大应用构建,旨在打造一个智能、共享、高效的智慧运营管理环境,实现绿色节能和业务创新。 2. 平台架构设计 系统整体架构设计包括统一门户管理、IOT平台、大数据、视频云…

螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下docker学习02(yum源切换及docker安装配置)

2 前期工作 2.1 切换yum源并更新 删除/etc/yum.repos.d/原有repo文件,将Centos-7.repo库文件拷贝到该目录下。 然后清楚原有缓存yum clean all 生成新的缓存yum makecache 更新yum update –y 然后再确认/etc/yum.repos.d/不会有其他库文件,只留下…

第十四章 I/O系统

一、I/O系统的分类 1.输入流:程序从输入流读取数据 输出流:程序向输出流写入数据 2.字节流:数据流中的最小的数据单元是字节 字符流:数据流中的最小单元是字符 3.节点流、处理流 二、I/O系统的四个抽象类 1.Java中提供的流类…

MATLAB - 机械臂手眼标定(眼在手外) - 估算固定相机相对于机器人基座的姿态

系列文章目录 前言 在拾取和放置任务中,例如垃圾桶拾取,通常会在环境中的固定位置安装摄像头,以便机器人操纵器检测工作区中的物体。基本感知管道使用该摄像头来估计目标物体相对于摄像头坐标系的姿态。然后将该姿态转换到机器人的基准坐标系…

360浏览器时不时打不开csdn

从百度或者csdn的搜索中打开,会发现打不开网页,以前也出现过,只是以为这篇文章被删了,昨天接连多个文章打不开,怀疑的浏览器的问题,复制网址到edge浏览器就打开了 刚刚又出现了,怀疑360会拦截某…

探索TOGAF理论的实践应用:企业数字化转型的深度指南

数字化转型的迫切性与路径选择 随着全球化进程和技术革命的加速,企业正面临前所未有的挑战和机遇。数字化转型已成为企业保持竞争力、创新业务模式、优化客户体验的核心手段。然而,企业在实施数字化转型时,往往面临路径不清、技术与业务脱节…

高性能防静电主轴4033 AC-ESD 在线路板切割中的非凡表现

随着电子产品的日益小型化/集成化,线路板的制造也面临着更高的挑战。线路板分板作为电子制造流程中的关键环节,其效率和精度直接影响到最终产品的质量和市场竞争力。因此专用的高性能防静电主轴SycoTec 4033 AC-ESD凭借其卓越的性能,成为众多…

多系统萎缩患者必知的营养补充指南

亲爱的朋友们,今天我们要聊的是一个较为少见但影响深远的疾病——多系统萎缩(Multiple System Atrophy, MSA)。这是一种成年期发病的神经系统退行性疾病,给患者的日常生活带来了诸多不便。但别担心,通过合理的营养补充…

JAVA开源项目 旅游管理系统 计算机毕业设计

本文项目编号 T 063 ,文末自助获取源码 \color{red}{T063,文末自助获取源码} T063,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析5.4 用例设计 六、核…

QGIS中怎么裁剪与掩膜提取

最近,我接到了一个关于QGIS中矢量与栅格与栅格数据怎么裁剪与掩膜提取到自己想要区域的咨询。 其实这个操作,与arcgis中的操作其实是类似的 下面是我对这个问题的解决思路: 首先得把栅格与矢量数据加载进去,如下图:…

基于SSM的农家乐预约系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

【JavaEE】——CAS指令和ABA问题

阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 一:CAS指令 1:概念 2:伪代码例子说明 3:优点 二&am…

《向量数据库指南》——Mlivus Cloud:优惠大放送,向量数据库新体验

哈哈,各位向量数据库领域的探索者和实践者们,大家好!我是大禹智库的向量数据库高级研究员王帅旭,也是《向量数据库指南》的作者,今天咱们来聊聊Mlivus Cloud这个让人眼前一亮的向量数据库服务。特别是它那诱人的优惠放送,简直是给咱们这些热衷于技术创新的朋友们送上了一…

微信小程序使用picker,数组怎么设置默认值

默认先显示请选择XXX。然后点击弹出选择列表。如果默认value是0的话&#xff0c;他就直接默认显示数组的第一个了。<picker mode"selector" :value"planIndex" :range"planStatus" range-key"label" change"bindPlanChange&qu…

一些 Go Web 开发笔记

原文&#xff1a;Julia Evans - 2024.09.27 在过去的几周里&#xff0c;我花了很多时间在用 Go 开发一个网站&#xff0c;虽然不知道它最终会不会发布&#xff0c;但在这个过程中我学到了一些东西&#xff0c;想记录下来。以下是我的一些收获&#xff1a; Go 1.22 现在有了更…

【ubuntu】ubuntu20.04 install vscode

1.download Visual Studio Code - Code Editing. Redefined download .deb. 2.install or intsall by ternimal: sudo dpkg -i code_1.93.1-1726079302_amd64.deb 3.open vscode 4. install some extensions c , python or GitLens.

SpringMVC2~~~

数据格式化 提交数据(比如表单)&#xff0c;对提交的数据进行转换和处理 基本数据类型可以和字符串自动转换 <a href"<%request.getContextPath()%>/addMonsterUI">添加妖怪</a> Controller Scope(value "prototype") public class …

spring揭秘25-springmvc03-其他组件(文件上传+拦截器+处理器适配器+异常统一处理)

文章目录 【README】【1】文件上传与MultipartResolver【1.1】使用MultipartResolver进行文件上传【1.2】springmvc处理multipart多部件请求流程【1.3】使用springmvc上传文件代码实现&#xff08;springmvc6.10版本&#xff09;&#xff1a; 【2】Handler与HandlerAdaptor&…

遮罩解决图片悬浮操作看不到的情况

未悬浮效果 悬浮效果 如果仅仅是添加绝对定位&#xff0c;那么遇到白色图片&#xff0c;就会看不到白色字体。通过遮罩&#xff08;绝对定位透明度&#xff09;就可以解决这个问题。 <script setup> </script><template><div class"box"><…