mongodb用户权限操作及使用命令

发布时间:2024-12-11 03:37

Linux操作系统:理解命令行,学会使用Shell脚本 #生活技巧# #工作学习技巧# #编程语言学习路径#

最新推荐文章于 2024-11-01 11:43:47 发布

木华思流年 于 2018-07-04 19:52:50 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

1. mongodb常使用命令

[admin@FYProject /usr/local/mongodb]$ sudo ps -ef |grep mongod

root 19968 1 0 14:16 ? 00:00:03 /usr/local/mongodb/bin/mongod --config=/usr/local/mongodb/etc/mongodb.conf --fork

root 19986 19489 0 14:19 pts/1 00:00:00 tail -f mongodb.log

admin 20040 19659 0 15:22 pts/3 00:00:00 grep --color=auto mongod

[admin@FYProject /usr/local/mongodb]$ mongo

MongoDB shell version v4.0.0

connecting to: mongodb://127.0.0.1:27017

MongoDB server version: 4.0.0

> show dbs #显示数据库列表

> show collections #显示当前数据库中的集合(类似关系数据库中的表)

> show users #显示用户

> use <db name> #切换当前数据库,如果数据库不存在则创建数据库。

> db.help() #显示数据库操作命令,里面有很多的命令

> db.foo.help() #显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令

> db.foo.find() #对于当前数据库中的foo集合进行数据查找(由于没有条件,会列出所有数据)

> db.foo.find( { a : 1 } ) #对于当前数据库中的foo集合进行查找,条件是数据中有一个属性叫a,且a的值为1

> db.dropDatabase() #删除当前使用数据库

> db.cloneDatabase("127.0.0.1") #将指定机器上的数据库的数据克隆到当前数据库

> db.copyDatabase("mydb", "temp", "127.0.0.1") #将本机的mydb的数据复制到temp数据库中

> db.repairDatabase() #修复当前数据库> db.getName() #查看当前使用的数据库,也可以直接用db

> db.stats() #显示当前db状态

> db.version() #当前db版本> db.getMongo() #查看当前db的链接机器地址

> db.serverStatus() #查看数据库服务器的状态

2.mongodb 数据库角色

内建的角色

数据库用户角色:read、readWrite;

数据库管理角色:dbAdmin、dbOwner、userAdmin;

集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;

备份恢复角色:backup、restore;

所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase

超级用户角色:root // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)

内部角色:__system

角色说明:

Read:允许用户读取指定数据库

readWrite:允许用户读写指定数据库

dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户

clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。

readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限

readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限

userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。

root:只在admin数据库中可用。超级账号,超级权限

3. 授权步骤

>mongo --host 127.0.0.1 --port 27018

>use dbname;

>db.createUser({user:"root",pwd:"root123",roles:["userAdminAnyDatabase"]})

Successfully added user: { "user" : "root", "roles" : [ "userAdminAnyDatabase" ] }

这个例子创建了一个名为 root 的用户管理员。创建完了这个用户之后,我们应该马上以该用户的身份登录:

> db.auth("root","root123")

1

db.auth() 方法返回 1 表示登录成功。接下来我们为指定的数据库创建访问所需的账号。

注意:使用密码策略需要先在配置文件中增加 auth=true。并且mongo在从模式下面是不允许操作密码策略的,主要应该是属于只读模式,只负责同步master上面的数据
转载自:http://blog.51cto.com/nanfeibobo/2128032
 

网址:mongodb用户权限操作及使用命令 https://www.yuejiaxmz.com/news/view/439737

相关内容

常用命令操作
mysql (8)=====用户授权管理
使用 stress 命令进行Linux CPU 压力测试
Oracle数据库日常维护命令
Windows常用网络命令使用技巧3
Linux系统内存清理神器:Purge命令详解 – Linux命令大全(手册)
盲目节俭危及生命 家用电器使用年限一览
使用Node.js和Express创建简单的任务管理应用程序在当今繁忙的世界中,任务管理变得越来越关键。在工作和日常生活
语音控制风扇及使用方法
如何使用Journalctl查看并操作Systemd日志

随便看看