MongoDB初体验-安装使用教程2023.7

前言:博主第一次接触MongoDB,看了一圈网上现有的教程,不是缺少细节就是有问题没交代清楚,特整理了一下自己安装运行的过程,从下载安装到开机自启,全程细节齐全、图文并茂、简单易懂。

目录

  • 1. 从官网下载
  • 2. 本机安装
    • 2.1 解压
    • 2.2 移动至指定目录
    • 2.3 增加配置文件 data、mongo.config
    • 2.4 设置环境变量
  • 3. 启动服务

1. 从官网下载

  • 下载地址:
    官网下载传送门
    ps:不需要翻墙不需要注册登录,打开网页就能下载 安心西咯~
  • 上方传送门打开如下如图,请确认图中标注的1和2
    在这里插入图片描述
  • 当你点击Select package按钮后就会出现选择下载版本的窗口,windows系统可以按照下图来选择,选择好后点击Download就能下载了。
    ps:具体版本看个人需求,反正别选带后缀(release candidate)的就行,zip格式免安装,解压就能用,图方便。
    在这里插入图片描述
  • 下载完 MongoDB Community Server 后我们还需要下载 MongoDB Shell 官方插件,因为v6以后的版本中访问服务的指令改成 mongosh ,步骤如下图

    可以下载V4.4或者V5的版本,因为在V6中不仅需要下载额外的shell插件,还需要下载Tools插件,并且一些指令在V6版本中不再支持,如果项目上用的旧版本mongo,你用V6可能会启动报错类似:
    Query failed with error code 352 and error message 'Unsupported Query failed with error code 352 and error message 'Unsupported OP_QUERY comcom…
    因为在新的版本中不再支持 OP_QUERY 等指令

在这里插入图片描述

2. 本机安装

2.1 解压

下载好后把两个zip文件解压,如下图
在这里插入图片描述

2.2 移动至指定目录

  • 先将解压的 mongodb-windows-x86_64-6.0.8 文件移动到你自定义目录中,比如像我这样:如下图,我改了一下文件名 Mongodb-6.0.8
    在这里插入图片描述
  • 然后将解压的 mongosh-1.10.1-win32-x64 文件放到 mongodb-windows-x86_64-6.0.8 文件中 ,如下图,我把mongosh-1.10.1-win32-x64的文件名也改了一下
    在这里插入图片描述

2.3 增加配置文件 data、mongo.config

  • 到这一步,细心的你肯定发现了,你的安装目录和我的不太一样!在安装目录下新增文件夹 \data\db 和 \data\log\mongo.log 结构如下图
    在这里插入图片描述
  • 在安装目录下新建配置文件 mongo.config 内容如下,
    记得把配置中的 logpath 和 dbpath 地址换成你自己的!!!
    #日志信息冗余。默认false。提高内部报告标准输出或记录到logpath配置的日志文件中。要启用	verbose或启用verbosity 用vvvv参数,如:
    verbose = true
    vvvv = true#端口。默认27017,MongoDB的默认服务TCP端口,监听客户端连接。要是端口设置小于1024,比如1021,则需要root权限启动,不能用mongodb帐号启动,(普通帐号即使是27017也起不来)否则报错:[mongo --port=1021 连接]
    port = 27017#绑定地址。默认127.0.0.1,只能通过本地连接。进程绑定和监听来自这个地址上的应用连接。要是需要给其他服务器连接,则需要注释掉这个或则把IP改成本机地址,如192.168.200.201[其他服务器用 mongo --host=192.168.200.201 连接] ,可以用一个逗号分隔的列表绑定多个IP地址。
    bind_ip = 127.0.0.1#最大连接数。默认值:取决于系统(即的ulimit和文件描述符)限制。MongoDB中不会限制其自身的连接。当设置大于系统的限制,则无效,以系统限制为准。这对于客户端创建很多“表”,允许连接超时而不关闭“表”的时候很有用。设置该值的高于连接池和总连接数的大小,以防止尖峰时候的连接。注意:不能设置该值大于20000。
    maxConns = 100#强制验证客户端请求。2.4的默认设置为objcheck成为true,在早期版本objcheck默认为false。因为它强制验证客户端请求,确保客户端绝不插入无效文件到数据库中。对于嵌套文档的对象,会有一点性能影响。设置noobjcheck 关闭。
    objcheck = true
    #noobjcheck = false#指定日志文件,该文件将保存所有的日志记录、诊断信息。除非另有指定,mongod将所有的日志信息输出到标准输出。如果没有指定logappend,重启则日志会进行覆盖操作。
    logpath = I:\develop\Mongodb-6.0.8\data\log\mongo.log#写日志的模式:设置为true为追加。默认是覆盖。如果未指定此设置,启动时MongoDB的将覆盖现有的日志文件。
    #logappend=true#日志输出都发送到主机的syslog系统,而不是标准输出到logpath指定日志文件。syslog和logpath不能一起用,会报错:Cant use both a logpath and syslog
    #syslog  = true#是否后台运行,设置为true 启动 进程在后台运行的守护进程模式。默认false。
    #fork = true#用户认证,默认false。不需要认证。当设置为true时候,进入数据库需要auth验证,当数据库里没有用户,则不需要验证也可以操作。直到创建了第一个用户,之后操作都需要验证。
    auth = false#数据存放目录。默认: word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; background-color: #ffffff; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">/data/db/
    dbpath = I:\develop\Mongodb-6.0.8\data\db
    

2.4 设置环境变量

  • 怎么设置环境变量我就不细说了哈,都用mongo了我默认你会配置,不行就百度一下。。。
    这里设置环境变量的作用是为了cmd 能直接输入mongod 和 mongosh 命令运行服务,如果没有配置环境变量,得cmd 到安装目录的bil目录下 执行mongod才行,不然会提示:mongod不是命令
    在这里插入图片描述
    在这里插入图片描述

3. 启动服务

打开命令提示符,以管理员身份运行,并执行以下命令来安装 MongoDB 服务并指定配置文件:

	mongod --config "I:\develop\Mongodb-6.0.8\mongo.config" --install

记得将 “I:\develop\Mongodb-6.0.8\mongo.config” 替换为你的 MongoDB 配置文件的路径!!!
执行成功后再重新打开一个命令行窗口,输入 mongosh 访问服务器,如下图。
在这里插入图片描述
以后直接打开命令行窗口就能直接访问服务器了,不需要再手动开启服务,可以通过 win + r 输入 services.msc 命令查看本地服务,它会开机自启
在这里插入图片描述

如果 install 没有成功,很大可能是你之前有安装过,可以查看一下mongo的日志,或是在本地服务中找到MongoDB,双击查看可执行的文件路径是不是正确的,然后打开cmd,以管理员方式运行,输入

sc delete MongoDB

删掉旧的mongo本地服务,然后重新执行
mongod --config “I:\develop\Mongodb-6.0.8\mongo.config” --install

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/3527.shtml

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

相关文章

基于遗传算法的新能源电动汽车充电桩与路径选择MATLAB程序

主要内容: 根据城市间的距离,规划新能源汽车的行驶路径。要求行驶距离最短。 部分代码: %% 加载数据 %%遗传参数 load zby;%个城市坐标位置 NIND50; %种群大小 MAXGEN200; Pc0.9; %交叉概率 Pm0.2; %变异概率 GGAP0.…

巩固一下NodeJs

1、初始化(确保当前电脑有node环境) npm init 2、安装express npm i expressnpm i ws文件结构 3、编写相关代码启动node服务(server.js) //导入下列模块,express搭建服务器,fs用来操作文件、ws用来实现webscoket const express require("expr…

C++进阶—C++11新特性(移动语义右值引用可变参数模板lambda表达式function包装器bind函数)

目录 0. C11简介 1. 统一的列表初始化 1.1 {}初始化 1.2 std::initializer_list 2. 声明 2.1 auto 2.2 decltype 2.3 nullptr 3. 范围for循环 4. 智能指针 5. STL中一些变化 6. 右值引用和移动语义 6.1 左值引用和右值引用 6.2 左值引用与右值引用比较 6.3 右值…

PSP - Jackhmmer 搜索 EMBL 序列数据库的相似序列

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/131817060 EMBL (European Molecular Biology Laboratory,欧洲分子生物实验室):EMBL 数据库是一个由欧洲生物信息学研究所…

springboot与rabbitmq的整合【演示5种基本交换机】

前言: 👏作者简介:我是笑霸final,一名热爱技术的在校学生。 📝个人主页:个人主页1 || 笑霸final的主页2 📕系列专栏:后端专栏 📧如果文章知识点有错误的地方,…

【0】冒泡排序

前言 通过函数模板技术设计一个冒泡排序算法,领悟泛型编程的思想和冒泡排序的思想,然后使用QTest测试各种输入值,养成先写测试代码,后写程序代码的习惯 0x0 编写一个int版本的冒泡函数 1.不管要排序的数组长度多长,外…

CASAIM与大疆达成全自动化测量技术合作,CASAIM IS全自动化蓝光测量仪实现无人机叶片全尺寸检测及质量控制

近期,CASAIM与大疆达成全自动化测量技术合作,CASAIM IS全自动化蓝光测量仪实现无人机叶片全尺寸检测及质量控制。 无人机行业在过去几年里取得了迅猛发展,大疆是全球领先的无人飞行器控制系统及无人机解决方案的研发商和生产商,客…

Spring-AOP(面向切面)

Spring-AOP(面向切面) 场景模拟(计算器) 功能接口 public interface Calculator {int add(int i, int j);int minus(int i, int j);int multiply(int i, int j);int div(int i, int j); }实现类 public class CalculateLogImpl implements Calculator {Overridepublic int …

PALO ALTO NETWORKS 的新一代防火墙如何保护企业安全

轻松采用创新技术、阻止网络攻击得逞并专注更重要的工作 IT 的快速发展已改变网络边界的面貌。数据无处不在,用户可随时随地从各类设备访问这些数据。同时,IT 团队正在采用云、分析和自动化来加速新应用的交付以及推动业务发展。这些根本性的转变带来了…

【Linux】- 任务调度和定时任务

任务调度和定时任务 1 crond 任务调度2 at 定时任务 1 crond 任务调度 crontab 进行 定时任务的设置 任务调度:是指系统在某个时间执行的特定的命令或程序。 任务调度分类:1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等 个别…

ChatGPT 最佳实践指南之:系统地测试变化

Test changes systematically 系统地测试变化 Improving performance is easier if you can measure it. In some cases a modification to a prompt will achieve better performance on a few isolated examples but lead to worse overall performance on a more representa…

【Docker】Docker基本概念

Docker基本概念 1.Docker概述1.1 Docker是什么?1.2 Docker的宗旨1.3 容器的优点1.4 Docker与虚拟机的区别1.5 容器在内核中支持的两种技术1.6 namespace的六大类型 2.Docker核心概念2.1 镜像2.2 容器2.3 仓库 3. 知识点总结3.1 Docker是什么?3.2 容器和虚…

智能分析网关V2有抓拍告警但无法推送到EasyCVR,是什么原因?

我们在此前的文章中也介绍了关于智能分析网关V2接入EasyCVR平台的操作步骤,感兴趣的用户可以查看这篇文章:在EasyCVR新版本v3.3中,如何正确接入智能分析网关V2? 智能分析网关V2是基于边缘AI计算技术,可对前端摄像头采…

常见Redis使用问题

一 lettuce使用问题 1 问题描述 Redis Cluster集群,当master宕机,主从切换,客户端报错 timed out 2 原因 SpringBoot2.X版本开始Redis默认的连接池都是采用的Lettuce。当节点发生改变后,Letture默认是不会刷新节点拓扑的。 3…

每日一题2023.7.19|ACM模式

文章目录 C的输入方式介绍cin>>cin.get(字符变量名)cin.get(数组名,接收字符数目)cin.get()cin.getline() getline()gets()getchar() AB问题|AB问题||AB问题|||ABⅣAB问题ⅤAB问题Ⅵ C的输入方式介绍 参考博客 cin>> 最基本,最常用的字符或者数字的输…

rabbitmq部署(docker方式)

前言:rabbitmq一旦有漏洞,版本升级麻烦,于是改为docker部署 环境:centos7 #停掉之前的服务 systemctl stop rabbitmq-server systemctl disable rabbitmq-server 查了官网,当前3.11.x 最高版本是3.11.19, 虽然3.12…

jupyter定制数学函数

from math import * #导入绘图模块 import numpy as np #导入数值计算模块 import matplotlib.pyplot as plt #导入绘图模块 plt.rcParams[font.sans-serif][SimHei] #绘图中文 plt.rcParams[axes.unicode_minus]False #绘图负号 import mpl_toolkits.axisartist as axisartist…

安卓通过adb pull和adb push 手机与电脑之间传输文件

1.可以参考这篇文章 https://www.cnblogs.com/hhddcpp/p/4247923.html2.根据上面的文章,我做了如下修改 //设置/system为可读写: adb remount //复制手机中的文件到电脑中。需要在电脑中新建一个文件夹,我新建的文件夹为ce文件夹 adb pull …

如何在无人机支持下完成自然灾害风险评估的原理和方法

对灾害的损失进行估算与测算是制定防灾、抗灾、救灾 及灾后重建方案的重要依据。 自然灾害评估按灾害客观地发展过程可分三种:一是灾前预评估,二是灾期跟踪或监测性评估,三是灾后实测评估。 灾前预评估要考虑三个因素,第一是未来…

基于ssm的社区生活超市的设计与实现

博主介绍:专注于Java技术领域和毕业项目实战。专注于计算机毕设开发、定制、文档编写指导等,对软件开发具有浓厚的兴趣,工作之余喜欢钻研技术,关注IT技术的发展趋势,感谢大家的关注与支持。 技术交流和部署相关看文章…