一、MongoDB下载安装教程(Windows)

下载地址https://www.mongodb.com/try/download/community
在这里插入图片描述

1、安装步骤

在这里插入图片描述
选择Complete,表示安装到默认路径(不推荐)
选择Custom,表示自定义安装路径(推荐)
在这里插入图片描述
在这里插入图片描述
这个对号取消掉,这是个可视化工具,超级不好用,安装起来很费尽。(如果需要,这个可视化界面可以另行安装)
接下来就next–>install–>finish就安装成功了!!!
在这里插入图片描述

2、配置

我们需要在data目录下新建一个db文件夹。
在这里插入图片描述
在MongoDB的安装路径下创建mongodb.config。
在这里插入图片描述

dbpath=D:\Program Files\MongoDB\Server6.0\data\db#数据库路径
#这里是你的安装路径!!!!!
logpath=D:\Program Files\MongoDB\Server6.0\log\mongod.log#日志输出文件路径
#这里是你的安装路径!!!!!
logappend=true#错误日志采用追加模式

journal=true#启用日志文件,默认启用

quiet=true #过滤掉无用的日志信息,若需要调试使用请设置为false

port=27017 #端口号 默认为27017

3、启动

在D:\Program Files\MongoDB\Server6.0\bin目录下打开cmd

mongod --dbpath "你安装的盘:mongodbdatadb"  --logpath "你安装的盘:mongodblogslog.txt"  --install -serviceName "MongoDB"  

在这里插入图片描述
打开浏览器访问 http://localhost:27017
出现如下页面,则表示启动成功。
在这里插入图片描述

在服务中已出现MongoDB服务已经启动,正在运行。
在这里插入图片描述

4、配置环境变量

在这里插入图片描述

二、下载shell命令工具

6版本需要自己下载shell文件 然后命令是mongosh 不是mongo

在这里插入图片描述
解压至D:\Program Files\MongoDB\Server6.0安装目录下
在这里插入图片描述

配置环境变量
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

四、设置密码

1、理解Admin数据库

新安装的MongoDB是没有账号设置,不用安全验证,任何人只要连接上服务就可以进行CRUD操作,这是非常不安全的。

所以我们需要对MongoDB进行设置账号,来控制对数据库的访问。

mongodb没有默认管理员账号,先添加管理员账号,再开启权限认证

切换到admin数据库,添加的账号才是管理员账号

管理员可以管理所有数据库,但要先在admin数据库认证后才可以管理其他数据库

MongoDB默认有一个admin数据库,admin.system.users中将会保存比在其它数据库中设置的用户权限更大的用户信息

当admin.system.users中一个用户都没有时,即使mongod启动时添加了- -auth参数,如果没有在admin数据库中添加用户,此时不进行任何认证还是可以做任何操作,直到在admin.system.users中添加了一个用户

2、角色与权限

Mongodb的授权采用了角色授权的方法,每个角色包括一组权限

Mongodb已经定义好了的角色叫内建角色,我们也可以自定义角色

MongoDB角色有:

  • 数据库用户角色:read、readWrite;
  • 数据库管理角色:dbAdmin、dbOwner、userAdmin;
  • 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
  • 备份恢复角色:backup、restore;
  • 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  • 超级用户角色:root;
  • 内部角色:__system;

3、MongoDB权限:

  • read: 允许用户读取指定数据库
  • readWrite: 允许用户读写指定数据库
  • dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
  • userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
  • clusterAdmin:只在admin数据库中可用,具有所有分片和复制集相关函数的管理权限。
  • readAnyDatabase:只在admin数据库中可用,具有所有数据库的读权限
  • readWriteAnyDatabase:只在admin数据库中可用,具有所有数据库的读写权限
  • userAdminAnyDatabase:只在admin数据库中可用,具有所有数据库的userAdmin权限
  • dbAdminAnyDatabase:只在admin数据库中可用,具有所有数据库的dbAdmin权限。
  • root:只在admin数据库中可用。超级账号,超级权限

4、创建用户管理员

admin表创建一个admin user并设置密码并给userAdminAnyDatabase的权限
userAdminAnyDatabase。 ‘userAdmin’代表用户管理身份,’AnyDatabase’ 代表可以管理任何数据库。

use admin;
db.createUser({user: 'admin', pwd: '123456', roles: [{role: 'userAdminAnyDatabase', db: 'admin'}]});

创建普通用户

>use  foobar
>db.createUser(
  { user:"foobarUser",
    pwd:"foo",
    roles:[{role:"readWrite",db:”foobar”}],
  }
  )

创建数据库管理员:

use  admin
db.createUser(
  { user:"DbUser",
    pwd:"DbPwd“,roles:["readWriteAnyDatabase", "dbAdminAnyDatabase"]
  }
  );

5、查询删除用户

查询某个数据库下的用户:

db.system.users.find()

删除指定用户:

db.dropUser(“用户名”);

2、第二步

注意:authorization前面是两个空格,不能是缩进tab,否则mongodb会起不来。

security:
  authorization: enabled

3、第三步

rote:dbOwner 代表数据库所有者角色,拥有最高该数据库最高权限。比如新建索引等。
rote:readWrite 代表用户用于该数据的读写,只拥有读写权限。

三、可视化界面Robo 3T

Robo 3T官网下载地址:https://robomongo.org/download

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐