【图文教程】windows 下 MongoDB 介绍下载安装配置

文章目录

    • 介绍
      • MySQL 之间的区别和适用场景差异
        • 数据模型:
        • 查询语言:
        • 可扩展性:
        • 数据一致性:
    • 下载
    • 安装
    • 环境变量
    • 配置

介绍

MongoDB 是一种开源的、面向文档的 NoSQL 数据库管理系统。它使用灵活的文档模型来存储数据,这意味着数据以类似于 JSONBSON(二进制 JSON)格式表示,并且可以具有不同的结构。MongoDB 适用于许多场景,包括 Web 应用程序、实时分析、日志记录和缓存等。

MySQL 之间的区别和适用场景差异

数据模型:

MongoDB:MongoDB 是面向文档的数据库,使用灵活的文档模型来存储数据。每个文档是一个键值对的集合,可以包含不同结构和类型的数据。
MySQL:MySQL是关系型数据库,使用表格和行的结构来组织数据,需要定义和遵循预定义的表结构。

适用场景:
MongoDB:适用于需要存储和处理非结构化或半结构化数据,或者需要频繁地进行数据模式更改的场景,如日志数据、社交媒体数据、实时分析等。
MySQL:适用于具有严格结构化数据需求、需要事务支持和复杂的关系查询的场景,如电子商务平台、金融系统、订单管理系统等。

查询语言:

MongoDB:MongoDB使用强大而灵活的查询语言,支持丰富的查询表达式、聚合管道和地理空间查询等。
MySQL:MySQL使用结构化查询语言(SQL)作为主要的查询语言,适用于关系型数据模型和数据操作。

适用场景:
MongoDB:适用于需要灵活查询和数据分析的场景,可以轻松地处理复杂的查询和聚合操作。
MySQL:适用于需要执行复杂关系查询、连接多个表格以及利用SQL的强大功能的场景。

可扩展性:

MongoDB:MongoDB具有良好的可扩展性,可以水平扩展到多个服务器上,支持分片技术。
MySQL:MySQL也支持一定程度的可扩展性,但通常是通过垂直扩展(增加服务器的处理能力)来实现。

适用场景:
MongoDB:适用于需要处理大量数据和高并发访问的场景,可以通过分片技术实现水平扩展。
MySQL:适用于中小规模的应用,需要处理相对较少的数据和并发请求。

数据一致性:

MongoDB:MongoDB是一致性模型为最终一致性的数据库,在分布式环境下保证数据最终
MySQL:MySQL通常采用强一致性模型,确保数据在所有节点上的读写操作是一致的。

适用场景:
MongoDB:适用于对一致性要求相对较低的场景,可以容忍一定程度的数据同步延迟。
MySQL:适用于对数据一致性要求较高的场景,如金融和事务处理系统。

总体而言,对于非结构化或半结构化数据、需要灵活性和可扩展性的场景,MongoDB是一个不错的选择。对于严格的结构化数据和复杂的关系查询需求,以及对一致性要求较高的场景,MySQL可能更适合。

下载

首先进入官网下载安装包。
在这里插入图片描述

安装

下载完毕后直接双击开始安装
在这里插入图片描述
下一步
在这里插入图片描述
完整安装
在这里插入图片描述
选择 mongoDB 数据安装位置,数据位置直接默认好了,避免后面会出错(因为后面没有更改安装位置的修改…)
在这里插入图片描述
是否下载官方工具
在这里插入图片描述
最后的确认
在这里插入图片描述
完成安装后可以打开服务管理,可以看到 MongoDB 已经运行起来了(快捷方式 win+r services.msc
在这里插入图片描述
安装目录地址
在这里插入图片描述
如果没有出现问题,那么可以在浏览器中打开 http://127.0.0.1:27017/ 出现如下页面证明mongoDb启动成功。
在这里插入图片描述
下载完毕后,在命令台进入安装目录下并输入一下命令将会得到一个错误:
在这里插入图片描述
这是因为还需要加载 mongo shell 才可以在控制台进行操作数据库,所以进入 mongo shell 下载地址
在这里插入图片描述
下载完成以后将压缩包解压进入 bin 目录,复制所有文件
在这里插入图片描述
粘贴到 mongoDB 的根目录下的 bin 目录下
在这里插入图片描述
这个时候输入 mongosh.exe 就可以进入 mongoDB 数据库里面了
在这里插入图片描述
退出输入 exit 即可。

环境变量

到这里,如果觉得每次进入控制台都需要输入安装地址才可以进入数据库太麻烦了,可以配置一个环境变量(win+r sysdm.cpl)。
在这里插入图片描述
这时候再打开命令台直接输入 mongosh 即可快速进入数据库了!
在这里插入图片描述

配置

用过 MySQL 同学都知道,每次使用它的时候都需要在命令台中输入 mysql -u root -p 这个命令登录,那么 MongoDB 有吗?答案是肯定有的,将目光移到上面一幅图,细心的同学可以发现有一条警告:

Access control is not enabled for the database. Read and write access to data and configuration is unrestricted

那么这是什么意思呢?我们将其翻译过来就是 未为数据库启用访问控制。对数据和配置的读写访问不受限制,说人话就是没有对数据库配置密码!接下来就对数据库设置访问密码,如果有同学不想设置,也是没有问题的,这不会影响你本地开发使用的。

# 进入 mongosh
mongosh# 使用账号管理数据库
use admindb.createUser(
{# 登录用户名user: "root",pwd: passwordPrompt(),roles: [[role: "userAdminAnyDatabase", db: "admin"], "readWriteAnyDatabase"]
}
)
# 输入密码

在这里插入图片描述
完成后将会出现

db.adminCommand( { shutdown: 1 } )

关闭 cmd,编辑 mongod.cfg
在这里插入图片描述
取消 security 的注释并启动
在这里插入图片描述
最后重启 MongoDB 服务 net stop/start MongoDB
打开 cmd 输入以下命令进入数据库

mongosh --port xxx  --authenticationDatabase "admin" -u "xxx" -p

当然,这个时候我们也可以使用最初的命令进入数据库且没有警告了,但是那一种方法启动的端口号是默认 27017,而使用这种方式可以指定 mongodb 服务器运行的端口号。

到此,我们的下载安装配置教程已经完成了!

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

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

相关文章

HarmonyOS - 基础组件绘制

文章目录 所有组件开发 tipsBlankTextImageTextInputButtonLoadingProgress 本文改编自&#xff1a;<HarmonyOS第一课>从简单的页面开始 https://developer.huawei.com/consumer/cn/training/course/slightMooc/C101667360160710997 所有组件 在 macOS 上&#xff0c;组…

k8s部署nginx-ingress服务

k8s部署nginx-ingress服务 经过大佬的拷打&#xff0c;终于把这块的内容配置完成了。 首先去 nginx-ingress官网查看相关内容。 核心就是这个&#xff1a; kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.2/deploy/static/prov…

计算机网络——数据链路层-点对点协议(组成部分、PPP帧格式、透明传输、差错检测、工作状态)

目录 介绍 组成部分 PPP帧格式 透明传输 字节填充法 比特填充法 差错检测 工作状态 本篇我们介绍点对点协议PPP 介绍 点对点协议PPP&#xff08;Point-to-Point Protocol&#xff09;是目前使用最广泛的点对点数据链路层协议。 请大家想想看&#xff1a;一般的英特…

算法模板之队列图文详解

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;算法模板、数据结构 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言一. ⛳️模拟队列1.1 &#x1f514;用数组模拟实现队列1.1.1 &#x1f47b;队列的定…

Kafka集群架构服务端核心概念

目录 Kafka集群选举 controller选举机制 Leader partition选举 leader partition自平衡 partition故障恢复机制 follower故障 leader故障 HW一致性保障 HW同步过程 Epoch Kafka集群选举 1. 在多个broker中, 需要选举出一个broker, 担任controller. 由controller来管理…

Hadoop入门学习笔记——三、使用HDFS文件系统

视频课程地址&#xff1a;https://www.bilibili.com/video/BV1WY4y197g7 课程资料链接&#xff1a;https://pan.baidu.com/s/15KpnWeKpvExpKmOC8xjmtQ?pwd5ay8 Hadoop入门学习笔记&#xff08;汇总&#xff09; 目录 三、使用HDFS文件系统3.1. 使用命令操作HDFS文件系统3.1.…

Flink系列之:深入理解ttl和checkpoint,Flink SQL应用ttl案例

Flink系列之&#xff1a;深入理解ttl和checkpoint&#xff0c;Flink SQL应用ttl案例 一、深入理解Flink TTL二、Flink SQL设置TTL三、Flink设置TTL四、深入理解checkpoint五、Flink设置Checkpoint六、Flink SQL关联多张表七、Flink SQL使用TTL关联多表 一、深入理解Flink TTL …

Simulink元件

constant 输出常数/标量 这样我们就只输出了一个常数 输出一维数组/矢量 这样我们就输出了1-5一共5个数字 输出二维数组 这样我们就输出了4个数字 选择框Interpret vector parameters as 1-D 如果标量或者矩阵&#xff0c;勾与不勾都一样。 如果是向量&#xff0c;勾选则表…

AUTOSAR从入门到精通-通信管理模块(CanNm)(七)

目录 原理 CanNM User Data CanNm user data配置 CDD方式访问CanNm user data ASW方式访问CanNm user data

Hago 的 Spark on ACK 实践

作者&#xff1a;华相 Hago 于 2018 年 4 月上线&#xff0c;是欢聚集团旗下的一款多人互动社交明星产品。Hago 融合优质的匹配能力和多样化的垂类场景&#xff0c;提供互动游戏、多人语音、视频直播、 3D 虚拟形象互动等多种社交玩法&#xff0c;致力于为用户打造高效、多样、…

2024华为OD机试真题指南宝典—持续更新(JAVAPythonC++JS)【彻底搞懂算法和数据结构—算法之翼】

PC端可直接搜索关键词 快捷键&#xff1a;CtrlF 年份关键字、题目关键字等等 注意看本文目录-快速了解本专栏 文章目录 &#x1f431;2024年华为OD机试真题&#xff08;马上更新&#xff09;&#x1f439;2023年华为OD机试真题&#xff08;更新中&#xff09;&#x1f436;新…

springCould中的consul-从小白开始【4】

目录 1.consul介绍 ❤️❤️❤️ 2.安装 ❤️❤️❤️ 3.创建8006模块 ❤️❤️❤️ 4.创建80模块❤️❤️❤️ 1.consul介绍 ❤️❤️❤️ Consul 是一种用于服务发现、配置和分布式一致性的开源软件。它由HashiCorp开发和维护&#xff0c;可用于帮助构建和管理现代化的分布…

设计模式篇---职责链模式

文章目录 概念结构实例总结 概念 职责链模式&#xff1a;避免将一个请求的发送者与接收者耦合在一起&#xff0c;让多个对象都有机会处理请求。将接收请求的对象连接成一条链&#xff0c;并且沿着这条链传递请求&#xff0c;直到有一个对象能够处理它为止。 比如大学期间&…

【MybatisPlus快速入门】(2)SpringBoot整合MybatisPlus 之 标准数据层开发 代码示例

目录 1 标准CRUD使用2 新增3 删除4 修改5 根据ID查询6 查询所有7 MyBatis-Plus CRUD总结 之前我们已学习MyBatisPlus在代码示例与MyBatisPlus的简介&#xff0c;在这一节中我们重点学习的是数据层标准的CRUD(增删改查)的实现与分页功能。代码比较多&#xff0c;我们一个个来学习…

05_符号表

05_符号表 一、符号表符号表API设计符号表实现有序符号表 一、符号表 符号表最主要的目的就是将一个键和一个值联系起来&#xff0c;符号表能够将存储的数据元素是一个键和一个值共同组成的键值对数据&#xff0c;我们可以根据键来查找对应的值。符号表中&#xff0c;键具有唯…

【Java基础】为什么重写equals()方法一定要重写hashCode()方法

equals()方法&#xff1a;比较两个对象是否相同。 1&#xff09;用 号比较两个对象的内存地址&#xff0c;如果两个对象指向的是同一个内存地址&#xff0c;返回true。 2&#xff09;否则继续比较字符串的值&#xff0c;如果值相同&#xff0c;返回true。 hashCode()方法&…

prometheus二进制安装

1、在需要安装prometheus的目录下执行wget命令下载软件到本地&#xff0c;如我的路径是/opt/module/prometheus wget https://github.com/prometheus/prometheus/releases/download/v2.34.0/prometheus-2.34.0.linux-amd64.tar.gz正在解析主机 objects.githubusercontent.com …

Qt/QML编程学习之心得:QML和C++的相互调用(十五)

Qt下的QML说到底是类似于JavaScript的一种解释性语言,习惯了VC的MVC(Veiw+Control)的模式,那种界面视图任何事件都是和C++的cpp中处理函数一一对应,在类中也有明确的说明的。一下子玩Qt会觉得哪里对不上,比如使用QML这种节脚本语言贴了图做了layout布局,那么一个按钮的o…

4.svn版本管理工具使用

1. 什么是SVN 版本控制 它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节! Subversion(简称SVN)是一个自由开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空 SVN的优势 统一的版本号 Subversi…