文章目录
- 介绍
- MySQL 之间的区别和适用场景差异
- 数据模型:
- 查询语言:
- 可扩展性:
- 数据一致性:
- 下载
- 安装
- 环境变量
- 配置
介绍
MongoDB
是一种开源的、面向文档的 NoSQL
数据库管理系统。它使用灵活的文档模型来存储数据,这意味着数据以类似于 JSON
的 BSON
(二进制 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
服务器运行的端口号。
到此,我们的下载安装配置教程已经完成了!