99 # mongo 的基本安装和配置

关系型数据库和非关系型数据库

  • MySQL Oracle SqlServer 用一种关系模型来组织数据的数据库(查询方便,不方便拓展)
  • nosql mongo redis memcached (不同于传统的关系数据库)

mongo 特点

  • 分布式:文档类型,值就是传统对象类型 key=>value BSON,储存复杂结构的数据
  • 性能高:不需要通过 SQL 层来进行解析(分析的过程 操作的过程 浪费性能),数据之间没有耦合,可以方便拓展,不适合复杂查询

mongo 的安装方式

https://www.mongodb.com/try/download/community

选择自己的版本
99 # mongo 的基本安装和配置_第1张图片
我参考的是这篇文章安装的:MongoDB下载安装教程

启动 mongodb

手动启动:自己启动服务端,并且指向路径储存的路径,然后启动客户端,需配置环境变量

mongod --dbpath="D:\Program Files\MongoDB\Server\4.4\data"
mongo

或者启动 MongoDB,再双击 mongo.exe

在这里插入图片描述

可执行文件的路径

"D:\Program Files\MongoDB\Server\4.4\bin\mongod.exe" --config "D:\Program Files\MongoDB\Server\4.4\bin\mongod.cfg" --service

99 # mongo 的基本安装和配置_第2张图片
cfg 配置文件 D:\Program Files\MongoDB\Server\4.4\bin\mongod.cfg 如下:

99 # mongo 的基本安装和配置_第3张图片
99 # mongo 的基本安装和配置_第4张图片
在浏览器访问:http://127.0.0.1:27017 出现如下页面证明 mongoDb 启动成功。

99 # mongo 的基本安装和配置_第5张图片

mongo 的语句

显示所有的数据库(默认免密码)

show dbs

99 # mongo 的基本安装和配置_第6张图片
如果数据库不存在,则创建数据库,否则切换到指定数据库。

use DATABASE_NAME

99 # mongo 的基本安装和配置_第7张图片
如果要查看已有集合,可以使用下面两个命令:

show collections
show tables

99 # mongo 的基本安装和配置_第8张图片
我们创建数据库kaimo,往集合 kaimo 里插入两条数据

use kaimo
db.kaimo.insertOne({"name":"凯小默1"})
db.kaimo.insertOne({"name":"凯小默2"})

99 # mongo 的基本安装和配置_第9张图片
查询

db.kaimo.find({})
db.kaimo.find({"name": "凯小默1"})

99 # mongo 的基本安装和配置_第10张图片

删除

db.kaimo.deleteOne({"name": "凯小默2"})

99 # mongo 的基本安装和配置_第11张图片

下面创建根用户,在创建一个数据库分配这个数据库的权限,默认可以在 admin 中创建根用户,创建其他数据库,在针对某个数据库中,创建用户,赋予当前权限,下次链接这个数据库时可以登录这个账号。

use admin
db.createUser({user: "root", pwd: "root", roles: ["root"]})

99 # mongo 的基本安装和配置_第12张图片
创建一个 user 库,给集合 student 添加两条数据

use user
db.student.insert({name:"凯小默", age: 313})
db.student.insert({name:"凯小默2", age: 3})

99 # mongo 的基本安装和配置_第13张图片
ObjectId 的构成

ObjectId 是一个 12 字节的 BSON 类型字符串,按照字节顺序,依次代表:

  • 4 字节:UNIX 时间戳
  • 3 字节:表示运行 MongoDB 的机器
  • 2 字节:表示生成此 _id 的进程
  • 3 字节:由一个随机数开始的计数器生成的值
ObjectId("65279b292d3834025d88a1b9")

MongoDB 开启安全认证,首先使用配置文件,增加参数:

security:
  authorization: enabled

99 # mongo 的基本安装和配置_第14张图片
在重新启动,执行 show dbs 发现看不到数据库了

99 # mongo 的基本安装和配置_第15张图片
以用户管理员身份进行连接和验证

use admin
db.auth("root", "root")
show dbs

99 # mongo 的基本安装和配置_第16张图片
再创建一个用户 kaimo313 去管理用户表,可读可写

use user
db.createUser({user: "kaimo313", pwd: "kaimo313", roles: [{role: "readWrite", db: "user"}]})

99 # mongo 的基本安装和配置_第17张图片
重启服务,访问 user 库里的所有集合,会提示:Warning: unable to run listCollections, attempting to approximate collection names by parsing connectionStatus

use user
show collections

99 # mongo 的基本安装和配置_第18张图片

上面的原因是因为连着的 MongoDB 中的 user 数据库它是有用户名和密码的,在没有进行登录的情况下,想直接查看数据库集合名称时,遭到了拒绝,因此,首先要进行登录操作,获得查看 collections 的权限。

db.auth("kaimo313", "kaimo313")
show collections

99 # mongo 的基本安装和配置_第19张图片

mysql mongo
集合
行和列 BSON

Robo 3T

Robo 3T:MongoDB 可视化工具

Robo 3T v1.4.3下载地址

我参考的是这篇:【Robo 3T】MongoDB可视化工具-- Robo 3T使用教程

点击【Create】,选择【Connection】输入需要连接的服务端【地址】和【端口】

99 # mongo 的基本安装和配置_第20张图片
配置权限
99 # mongo 的基本安装和配置_第21张图片
双击或者链接
99 # mongo 的基本安装和配置_第22张图片
99 # mongo 的基本安装和配置_第23张图片
配置user表权限
99 # mongo 的基本安装和配置_第24张图片
99 # mongo 的基本安装和配置_第25张图片

你可能感兴趣的:(前端工程架构,Redis,/,数据库,mongodb)