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

news2024/9/30 23:24:58

文章目录

    • 介绍
      • 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 admin

db.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.coloradmin.cn/o/1333065.html

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

相关文章

【项目管理】CMMI-需求跟踪矩阵模版

需求菜单/功能模块需求名称需求变更类型(新增、修改)需求状态(已建议、已批准、已设计、已实现、已验证、已删除)优先级(高、中、低)软件需求(工作产品、章节号)概要设计&#xff08…

【计算机网络】网络层——IP协议

目录 一. 基本概念 二. 协议报文格式 三. 网段划分 1. 第一次划分 2. CIDR方案 3. 特殊的IP地址 四. IP地址不足 1. 私有IP和公网IP 2. DHCP协议 3. 路由器 4. NAT技术 内网穿透(NAT穿透) 五. 路由转发 路由表生成算法 结束语 一. 基本概念 IP指网络互连协议…

浅谈springboot整合ganymed-ssh2远程访问linux

环境介绍 技术栈 springbootmybatis-plusmysqlganymed-ssh2 软件 版本 mysql 8 IDEA IntelliJ IDEA 2022.2.1 JDK 1.8 Spring Boot 2.7.13 mybatis-plus 3.5.3.2 SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户…

【leetcode100-019】【矩阵】螺旋矩阵

【题干】 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 【思路】 不难注意到,每进行一次转向,都有一行/列被输出(并失效);既然已经失效,那我…

沉浸式go-cache源码阅读!

大家好,我是豆小匠。 这期来阅读go-cache的源码,了解本地缓存的实现方式,同时掌握一些阅读源码的技巧~ 1. 源码获取 git clone https://github.com/patrickmn/go-cache.git用Goland打开可以看到真正实现功能的也就两个go文件,ca…

比亚迪王朝B级SUV新旗舰起航

12月15日宋L正式投入市场,这也宣告着比亚迪王朝品牌全新的里程碑。作为宋家族中定位稍高的L级车型,宋L本次一共上市推出了4款后驱车型和1款四驱车型。其中后驱车型的电机功率从200kW至380kW不等,续航里程最大可达662公里,满足不同…

消失循环的2023?你都做了什么? | 2023 年度总结

2023年度总结 -- 今年都做了什么事? 前言心态关键词感悟 记录申请软著独立游戏技术成长 共勉 前言 又到了一年一次年度总结的时候了。我们常常感叹时间飞逝,却又没办法让它放慢的脚步。那就将2023写下来,让它在时间的长河中留下一丝记忆。 心…

VSCode中配置prettier和ESLint

文章目录 了解ESLint和Prettier的作用prettier配置ESLint配置常见问答ESLint 和Prettier 有什么区别?为什么我应该同时使用ESLint 和Prettier?在使用ESLint 和Prettier 时,有可能出现它们之间的规则冲突吗?我已经在项目中使用了ES…

Redis数据库入门学习(下载与安装、常用命令、在Java中操作Redis)

简介 下载与安装 数据类型 常用命令 1.字符串操作命令 2.哈希操作命令 3.列表操作命令 push是将元素总是插入到第一个 0表示第一个,1表示第二个。-1表示倒数第一个,-2表示倒数第二个。当前命令的意思是第一个到倒数第一个,即就是全部元素 rpo…

设计模式 建造者模式 与 Spring Bean建造者 BeanDefinitionBuilder 源码与应用

建造者模式 定义: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示主要作用: 在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象如何使用: 用户只需要给出指定复杂对象的类型和内容, 建造者模式负责按顺序创建复杂对象…

软件测试工程师简历项目经验怎么写?--9999个已成功入职的软件测试工程师真实简历

简历是我们求职的第一步,也是非常重要的一步。 青云叔叔看过太多简历,最快3秒就淘汰一份简历,因为其实我们每天要收到很多简历进行筛选,那么面试官其实也是会很快进行对简历进行判断的,如果你对简历写的一塌糊涂&…

教师未来前景发展

教师是一个光荣而重要的职业,他们承担着培养下一代的责任和使命。随着社会的不断发展和变化,教师的前景也在不断扩大和改变。本文将探讨教师未来的前景发展,并提供一些思考和建议。 首先,教师的就业前景将继续扩大。随着人口的增长…

基于Kettle和帆软Finereport的血缘解析

一、背景: 用户经常会针对数据存在质量的存疑,反馈数据不准。开发人员排查数据质量问题步骤:首先和业务人员对接了解是哪里数据不准确,要定位是哪张报表,然后查看报表后面数据来源,然后一路排查数仓。往往定…

膛目结舌的代码技巧!一看就是冷暴力~~~~

你见过哪些令你膛目结舌的代码技巧? 代码世界有很多令人大呼小叫的技巧!有的代码像魔术师一样巧妙地隐藏了自己,有的像魔法师一样让你眼花缭乱,还有的像瑜伽大师一样灵活自如。它们让我们惊叹不已,让我们觉得自己仿佛置…

Axios 中的文件上传 File对象的方法

使用 FormData 对象 FormData是一个用于创建表单数据的 API,可用于发送包含文件和其他表单数据的multipart/form-data请求。这是处理文件上传的常用方法。通过FormData对象,可以将文件数据添加到表单中,然后使用 Axios 的post或put方法发送请求 在.env.development 文件中配…

分布式事务TCC补偿机制

文章目录 概述工作流程优缺点优点:缺点: 总结Java 示例代码 概述 TCC(Try-Confirm-Cancel)补偿机制是一种事务处理模式,用于确保分布式系统中的操作成功完成或在失败时进行补偿。TCC将一个事务拆分为三个阶段&#xf…

零基础快速上手HarmonyOS ArkTS开发2---ArkTS开发实践

ArkTS开发实践: 接着上一次零基础快速上手HarmonyOS ArkTS开发1---运行Hello World、ArkTS开发语言介绍继续, 在上一次对于ArkTS的基础知识进行了学习,依照官方的课程计划,还有两个具体的小案例需要来实践实践: 实践出…

基于Go语言的HTTP路由设计与实现

在Go语言的世界里,HTTP路由是一种将HTTP请求映射到相应处理函数的技术。通过路由,我们可以确定当用户发送一个HTTP请求时,应该调用哪个函数来处理该请求。在这个过程中,我们可以使用多种方法来实现路由设计,下面我将以…

leetcode——背包问题汇总

本章来汇总一下leetcode中做过的背包问题,包括0-1背包和完全背包。 背包问题的通常形式为:有N件物品和一个最多能背重量为W 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。求解将哪些物品装入背包里物品价值总和最大。0-1背包和…

040、全卷积

之——FCN 目录 之——FCN 杂谈 正文 1.FCN 2.实现 杂谈 FCN(Fully Convolutional Network)是一种深度学习网络架构,专门设计用于语义分割任务。传统的深度学习网络如卷积神经网络(CNN)在处理图像时通常用于分类…