MONGO学习之旅(二、基础操作)

登录认证

db.auth('root','root');

如下:

请添加图片描述

1:表示成功 0:代表失败

mongoDB常用的shell命令

命令 说明
show dbs 显示数据库列表
use 切换数据库
show collections 显示数据库的所有表
show users 显示当前数据库的用户列表
show roles 显示当前数据库的角色列表
show profile 显示最近发生的操作
load 执行一个JavaScript脚本
quit 推出当前shell

使用help命令可以获取mongo shell的常用命令

在这里插入图片描述

MongoDB权限

MongoDB的权限和传统数据库的权限不一样,MongoDB除了全局用户之外每个数据库都有自己单独的用户表,以及用户权限。

请添加图片描述

创建超级用户

安装完之后,打开命令行,进入MongoDB安装目录,在bin目录下执行MongoDB启动,该模式下是不需要安全认证的模式。

use admin # 切换数据库
db.createUser({
  user: 'admin',
  pwd:'admin',
  roles:[{
    role:'root',
    db:'admin'
  }]
})

user用户名
pwd密码
db:指定用户的数据库,admin是用于权限控制的数据库,如果没有需要新建一个
roles:指定用户的角色,可以用一个空数组给新的用户设定空角色;在roles字段,可以指定内置角色和用户自定义的角色,role里的角色可以选的角色如下:

Built-In Roles(内置角色):

  1. 数据库用户角色: read, readWrite;
  2. 数据库管理角色:dbAdmin, dbOwner, userAdmin;
  3. 集群管理角色:clusterAdmin, clusterManager, clusterMonitor, hostManager;
  4. 备份恢复角色:backup, restore;
  5. 所有数据库角色:readAnyDatabase, readWriteAnyDatabase, userAdminAnyDatabase, dbAdminAnyDatabase;
  6. 超级用户角色: root,
  7. 内部角色: __system

修改用户权限

db.updateUser('admin', [{role:'readWrite',db:'admin'}])

updateUser它是完全替换之前的值,如果要新增或添加roles而不是替换它则可以选择db.grantRolesToUser()db.revokeRolesFromUser()

db.grantRolesToUser('admin', [{role:'readWrite',db:'admin'}]);#追加权限
db.revokeRolesFromUser('admin', [{role:'readWrite',db:'admin'}]);#删除权限

删除用户

db.dropUser('admin')

参考

https://www.cnblogs.com/swordfall/p/10841418.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • MySQL体系结构 库:database 表:table 列:column 行:row MongoDB体系结构 库...
    我要笑阅读 2,817评论 0 1
  • MongoDB是什么 MongoDB是一个基于分布式文件存储的数据库。有C++语言编写,旨在为WEB应用提供可扩展...
    魔炫Max阅读 2,812评论 0 1
  • http://www.cnblogs.com/zhoujinyi/p/4610050.html 创建用户,用户是跟...
    bbmm阅读 4,844评论 0 0
  • Built-In Roles(内置角色): 1. 数据库用户角色:read、readWrite; 2. 数据库管理...
    阿杰Alex阅读 5,327评论 0 1
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 126,783评论 2 7