零基础学习mongodb——管理用户(代码片段)

小丞同学 小丞同学     2022-12-28     383

关键词:

零基础学习MongoDB (三)—— 管理用户

在b站上听了几个老师的课,有涉及到mongodb的一些历史,比如删库勒索,因此开放的数据库是很危险的,所以我们需要给它们添加管理用户,这样为我们的数据安全加一道墙

一、管理员类型

mongodb提供了很多了角色,用于不同情境下对数据库进行管理:

  1. 数据库用户角色:readreadWrite
  2. 数据库管理角色: dbAdmindbOwneruserAdmin
  3. 集群管理角色:clusterAdminclusterManagerclusterMonitorhostManager
  4. 备份恢复角色: backuprestore
  5. 所有数据库角色:readAnyDatabasereadWriteAnyDatabaseuserAdminAnyDatabasedbAdminAnyDatabase
  6. 超级用户角色:root

特别注意dbOwner是某个数据库的所有者,root拥有所有权限

二、创建超级管理员用户

mongodb自带的admin数据库,是所有管理员的集合

默认mongodb不开启认证登录,在开启之前,我们必须要创建一个超级管理员,用于管理其他账户,还需要配置cfg文件开启安全认证

在开启安全认证前在命令行输入mongo,看到的会是这样一大串(记住噢)

1. 创建用户

通过db.createUser配置用户名,密码,权限,用户管理的数据库

> use admin
switched to db admin
> db.createUser(user:"admin",pwd:"123456",roles:[role:"root",db:"admin"])
Successfully added user: 
        "user" : "admin",
        "roles" : [
                
                        "role" : "root",
                        "db" : "admin"
                
        ]

通过show users查看当前数据库中的用户

2. 开启认证登录

修改mongodb安装目录下的bin目录下的mongod.cfg文件,添加以下代码

security:
	authorization: enabled

注意:文件中#号开头的可以理解为是注释掉的,所以如果不想开启安全认证可以加#号来关闭

3. 重启服务

win+R键,输入services.msc,重启mongodb Server服务

4. 通过验证登录

当我们成功开启安全认证后,命令行直接输入mongo,看到的东西会只有一点,相对于之前的少了很多

同时当输入show dbs查看数据库时,会发现没有数据库,这时候我们需要登录我们先前注册的账号,采用命令,填写的内容分别是账号和密码,成功登录会返回1,否则返回0

db.auth("admin","123456")

这时候我们再查看数据库,就可以看到内容了,

三、更新用户密码

db.updateUser('admin',pwd:'password')

操作演示

更改用户权限只需要将,后面的pwd换成role,修改即可,可多个

四、删除用户

db.dropUser('username')

在有删除该库权限的用户下,即可删除用户

五、创建某个数据库管理员

创建了一个只能管理test数据库的管理员

db.createUser(user:"test",pwd:"123456",roles:[role: "dbOwner", db: "test" ])

在登录时,我们需要切换到对应的test库再进行验证登录

use test
db.auth("test","123456")

零基础学习mongodb——mongodb简介(代码片段)

接下来会学习node.js以及mongodb数据库的知识,好好学习,天天向上!一、数据库简介数据库是按照数据结构来组织、存储和管理数据的仓库。我们的程序都是在内存中运行的,一旦程序运行结束或者计算机断电ÿ... 查看详情

零基础学习mongodb——mongodb简介(代码片段)

接下来会学习node.js以及mongodb数据库的知识,好好学习,天天向上!一、数据库简介数据库是按照数据结构来组织、存储和管理数据的仓库。我们的程序都是在内存中运行的,一旦程序运行结束或者计算机断电ÿ... 查看详情

零基础学习mongodb——集合操作(代码片段)

零基础学习MongoDB(四)——集合操作一、创建集合使用db.createCollection()方法来创建集合语法格式:db.createCollection(name,options)参数说明:name:要创建的集合名称options:可选参数,指定有关内存大小及索引的选项options可... 查看详情

零基础学习mongodb——集合操作(代码片段)

零基础学习MongoDB(四)——集合操作一、创建集合使用db.createCollection()方法来创建集合语法格式:db.createCollection(name,options)参数说明:name:要创建的集合名称options:可选参数,指定有关内存大小及索引的选项options可... 查看详情

零基础学习mongodb——连接数据库(代码片段)

一、安装MongoDB官网下载下载后,“下一步”安装即可二、启动MongoDB服务器命令行运行MongoDB服务,在安装完成之后会有MongoDB文件夹,运行bin目录下的mongod.exe文件或者可以将bin配置到环境变量path中三、连接数据库cmd命... 查看详情

零基础学习mongodb——连接数据库(代码片段)

一、安装MongoDB官网下载下载后,“下一步”安装即可二、启动MongoDB服务器命令行运行MongoDB服务,在安装完成之后会有MongoDB文件夹,运行bin目录下的mongod.exe文件或者可以将bin配置到环境变量path中三、连接数据库cmd命... 查看详情

零基础学习mongodb——文档crud操作(代码片段)

一、插入数据1.1插入单条文档1.1.1insert函数语法格式:db.collectionName.insert(文档)db是当前操作的数据库collectionName是操作的集合,没有会自动创建插入的文档如果没有_id属性,会自动创建例如在user集合下插入单个文档db.... 查看详情

零基础学习mongodb——文档crud操作(代码片段)

一、插入数据1.1插入单条文档1.1.1insert函数语法格式:db.collectionName.insert(文档)db是当前操作的数据库collectionName是操作的集合,没有会自动创建插入的文档如果没有_id属性,会自动创建例如在user集合下插入单个文档db.... 查看详情

rancher运维-从零开始学习|rke部署k8s|容器管理(代码片段)

Rancher运维-从零开始学习|RKE部署K8S|容器管理一、概述①基础设施编排②容器编排与调度③应用商店④企业级权限管理二、RKE①REK1和RKE2的区别三、RKE1部署K8S1.1基础环境部署①SSH用户必须是节点上docker用户组的成员②禁用交换功... 查看详情

mongodb的权限管理(代码片段)

Mongodb的权限管理1.为什么要进行权限管理的设置2.mongodb的权限管理方案3.mongodb超级管理员账号的创建3.1创建超级用户3.2以权限认证的方式启动mongodb数据库3.3登录验证4.创建普通用户4.1在使用的数据库上创建普通用户4.2在admin用户... 查看详情

mongodb的用户管理总结(代码片段)

基础篇(能解决工作中80%的问题):MongoDB的概述、应用场景、下载方式、连接方式和发展历史等MongoDB数据类型、重要概念以及shell常用指令MongoDB文档的各种增加、更新、删除操作总结MongoDB各种查询操作总结MongoDB对列的各... 查看详情

mongodb的用户管理总结(代码片段)

基础篇(能解决工作中80%的问题):MongoDB的概述、应用场景、下载方式、连接方式和发展历史等MongoDB数据类型、重要概念以及shell常用指令MongoDB文档的各种增加、更新、删除操作总结MongoDB各种查询操作总结MongoDB对列的各... 查看详情

node.js零基础详细教程:mongodb数据库操作

...此教程将教会大家安装Node、搭建服务器、express、mysql、mongodb、编写后台业务逻辑、编写接口,最后完成一个完整的项目后台,预计共10天课程。 数据库 数据库管理结构,一般分为两种:B/S架构 C/S架构。B/S架构: ... 查看详情

rancher运维-从零开始学习|rke部署k8s|容器管理(代码片段)

Rancher运维-从零开始学习|RKE部署K8S|容器管理一、概述①基础设施编排②容器编排与调度③应用商店④企业级权限管理二、RKE①REK1和RKE2的区别三、RKE1部署K8S1.1基础环境部署①SSH用户必须是节点上docker用户组的成员②禁用交换功... 查看详情

rancher运维-从零开始学习|rke部署k8s|容器管理(代码片段)

Rancher运维-从零开始学习|RKE部署K8S|容器管理一、概述①基础设施编排②容器编排与调度③应用商店④企业级权限管理二、RKE①REK1和RKE2的区别三、RKE1部署K8S1.1基础环境部署①SSH用户必须是节点上docker用户组的成员②禁用交换功... 查看详情

零基础快速开发vue图书管理系统—角色管理篇(代码片段)

零基础快速开发Vue图书管理系统—角色管理篇(五)一、用户管理页面前端结构部分<template><div><a-card><h2>用户管理</h2><a-divider></a-divider><a-button>添加用户</a-button><a-div 查看详情

零基础快速开发vue图书管理系统—角色管理篇(代码片段)

零基础快速开发Vue图书管理系统—角色管理篇(五)一、用户管理页面前端结构部分<template><div><a-card><h2>用户管理</h2><a-divider></a-divider><a-button>添加用户</a-button><a-div 查看详情

零基础快速开发vue图书管理系统—登录注册篇(代码片段)

...要采用:Node.js、Koa、Mongoose等数据库主要采用:MongoDB三、使用vue-cli3创建项目如何搭建环境看我之前 查看详情