【图文教程】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.hqwc.cn/news/296718.html

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

相关文章

HarmonyOS4.0系统性深入开发03UIAbility组件详解(中)

UIAbility组件基本用法 UIAbility组件的基本用法包括:指定UIAbility的启动页面以及获取UIAbility的上下文UIAbilityContext。 指定UIAbility的启动页面 应用中的UIAbility在启动过程中,需要指定启动页面,否则应用启动后会因为没有默认加载…

嵌入式开发必须学习qt吗?

嵌入式开发必须学习qt吗? 在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「 嵌入式的资料从专业入门到高级教程工具包」,点个关注,全部无偿共享给大家!&#…

vue 实验报告8 基于Nuxt.js开发一个Vue程序,实现登录和注册切换

一、步骤: 保证node.js版本在14以上 1. 全局安装create-nuxt-app: npm install -g create-nuxt-app2.9.x 2. 创建项目: create-nuxt-app my-nuxt-demo 选项这么选: 然后输入: cd my-nuxt-demo 3. 创建登录和注册页面: 在/pages目录下创建logi…

力扣算法-Day1

160. 相交链表 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 示例 1: 输入:intersectVal 8, listA [4,1,8,4,5], listB [5,6,1,8,4,5], skipA 2, s…

第六部分 集合论

目录 主要内容 集合的基本概念 集合的基本运算 集合恒等式 初级运算 文氏图 集合的广义并与广义交 广义运算的性质 例1 A{{a},{a,b}} 集合算律 例2 判断下列命题是否为真 例3 设 例4 判断以下命题的真假,并说明理由. 解题思路 主要内容 集合的基本概念 属于、包含…

【并发编程篇】定义最大线程的方法

文章目录 🍔省流🏳️‍🌈前言🛸CPU密集型🌹代码实现 🛸IO密集型 🍔省流 池的最大大小如何去设置 使用CPU密集型和IO密集型这2种方法 🏳️‍🌈前言 上一篇文章我们讲解…

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

PC端可直接搜索关键词 快捷键:CtrlF 年份关键字、题目关键字等等 注意看本文目录-快速了解本专栏 文章目录 🐱2024年华为OD机试真题(马上更新)🐹2023年华为OD机试真题(更新中)🐶新…

使用Pycharm一键将.ui文件生成.py文件配置教程、一键打开QTDesigner教程

2df3621a-7ffd-4f18-9735-b86464b83a5b 前言 我痛恨所有将白嫖归为理所应当的猪🐖。 教程 打开pycharm之后,依次点击File->Settings->Tools->External Tools,进入如下界面: 1、配置快捷打开Qt Designer 点击号&…

ZKP Algorithms for Efficient Cryptographic Operations 1 (MSM Pippenger)

MIT IAP 2023 Modern Zero Knowledge Cryptography课程笔记 Lecture 6: Algorithms for Efficient Cryptographic Operations (Jason Morton) Multi-scalar Multiplication(MSM) Naive: nP (((P P) P) P)… (2(2P))…Binary expand $n e_0e_1\alphae_2\alpha2\dots\e_{\…

免费PHP完美运营的最新短视频打赏系统学习版

免费PHP完美运营的最新短视频打赏系统学习版 一、介绍 免费PHP完美运营的最新短视频打赏系统学习版,是一款基于PHP开发的打赏系统,具有强大的功能和稳定的性能。相比于市面上的其他打赏系统,它更加完善,几乎无bug,能…

【BBuf的CUDA笔记】十,Linear Attention的cuda kernel实现解析

欢迎来 https://github.com/BBuf/how-to-optim-algorithm-in-cuda 踩一踩。 0x0. 问题引入 Linear Attention的论文如下: Transformers are RNNs: Fast Autoregressive Transformers with Linear Attention:https://arxiv.org/pdf/2006.16236.pdf 。官方…

react中使用redux最简单最方便的方式,配合rematch简化操作,5分钟学会

react中使用状态管理的方式也很多,比如redux和mobx等,今天这一片就讲一下redux的入门到熟练使用,主要是要理解它redux的组成有哪些,到怎么创建,和组建中怎么使用三个问题。这里先放上官网文档,不理解的地方…