Mongodb账户管理
Mongodb账户管理
介绍
Mongodb是一个schema free的非sql类分布式数据库,可以利用它做很多很灵活的存储和操作,最近了解了下它的账户机制,通过设置auth启动方式可以对所有登陆用户做各种操作的限定。
认证方式登陆mongodb
sudo ./bin/mongod --auth -dbpath=/usr/local/mongodb/data/db --port 27017 -logpath=/usr/local/mongodb/log --logappend
dbpath和logpath需要自己提前单独的创建好目录。
-auth: 表示通过认证方式登陆mongodb
不过在用auth方式启动mongodb服务器之前,需要创建一个可以管理所有用户的账户(一般在admin数据库中),如:
use admin
db.createUser(
{
user: "root",
pwd: "root",
roles: [{ role: "userAdminAnyDatabase", db: "admin" } ]
}
)
创建了一个“root”账户,它的role(即权限范围)是“userAdminAnyDatabase”,即可以admin权限管理任意的数据库的用户。
如果不使用“use admin”,那会在当前数据库创建user,不指定db的登陆会默认在test数据库中,createUser中的role指定了权限类型,roles中的“db”指定了作用域的数据库。
设置以auth方式登陆之后,client端通过mongo登陆mongodb,是必须加上“--authenticationDatabase”选项的,“authenticationDatabase”指定了校验用户账户名和密码的数据库,例如:
./bin/mongo mytest -u "test" -p "123" --authenticationDatabase admin
- 紧接着mongo命令后面的“mytest”指定了登陆之后所在的数据库,即成功登陆之后会直接跳转到该数据库,不写默认是test数据库。
- --authenticationDatabase 指定的是验证用户名和密码的数据库,也就是说在哪个数据库创建的登陆用户,就写哪个数据库,如上例中,user=“test”和passwd=“123”是在admin db中创建的。
- 如果目的既是登陆test数据库,而用户也是test数据库中创建,那么可以不用写后面的参数 --authenticationDatabase,如下也可以登陆:
./bin/mongo mytest -u "test" -p "123"
mongodb关闭
不要kill -9 pid 方式关闭mongodb的进程,这样会有很多服务资源没法回收,应该使用
kill -2 pid
或者
db.shutdownServer()
转载:https://www.jianshu.com/p/88e0d33a6201
Mongodb账户管理的更多相关文章
- MySQL之账户管理
MySQL之账户管理 账户管理是MySQL用户管理最基本的内容.包括登录,退出MySQL服务器.创建用户.删除用户.密码管理和权限管理等内容. 其中登录方式非常简单,在这个地址有:http://www ...
- MongoDB基本管理命令
MongoDB是一个NoSQL数据库系统:一个数据库可以包含多个集合(Collection),每个集合对应于关系数据库中的表:而每个集合中 可以存储一组由列标识的记录,列是可以自由定义的,非常灵活,由 ...
- NoSQL学习二:MongoDB基本管理命令
MongoDB命令学习 一.MongoDB命令帮助 在安装MongoDB后,启动服务器进程(mongod),可以通过在客户端命令mongo实现对MongoDB的管理和监控: 这是MongoDB最上层 ...
- [Winform]一个简单的账户管理工具
最近一直觉得注册的账户越来越多,帐号密码神马的容易弄混.自己就折腾了一个简单的账户管理工具,其实实现也挺简单,将每个账户的密码及相关密码提示信息,经aes算法加密之后保存到数据库,当前登录用户可以查询 ...
- MongoDB权限管理之用户名和密码的操作
MongoDB默认是不需要输入用户名和密码,客户就可以登录的.但是出于安全性的考虑,我们还是要为其设置用户名和密码.本文主要介绍的是MongoDB权限管理之用户名和密码的操作,希望能对您有所帮助. 本 ...
- CentOS下的账户管理
在Linux中,每个文件都分3类权限:账户本身的权限,账户所在群组的权限和其它权限.账户和群组是多对多的关系,即一个账户可以属于多个群组,一个群组可以包含多个账户.但是,对于每一个已登录的账户,只能存 ...
- Windows Services windows域账户管理
windows 域账户管理 一.什么是域账户: 域账户是域是网络对象的分组.例如:用户.组和计算机.域中所有的对象都存储在 Active Directory 下.Active Directory 可 ...
- MySQL账户管理
body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-top: 10 ...
- mysql的账户管理
mysql中账户管理:1 查看所有用户: 所有用户及权限信息都存储在mysql数据库中的user表中 查看user表的结构 desc user\G; 主要字段: host: 表示允许访问的主机 use ...
随机推荐
- python第一个浏览器的自动执行程序
1.目标:简单点,百度搜索“美丽的程序员” 2.操作方法: a.python已经安装完成 b.安装PIP:在windows的cmd窗口下输入easy_install pip c.安装sele ...
- adb 安装 app/apk链接不上设备和安装出现failed_install_user_restricted的解决方法
1.手机链接电脑,保持网段一致,通过ping 看是否可以ping通 2.如果可以ping通,查看telnet ip 5555 看是否可以连接 3.如果无法连接查看手机是否开启开发者模式中的debug模 ...
- PHP传引用赋值底层的变化
$a = 3;$b = &$a;//传引用,即地址赋值 使用xdebug_debug_zval('a');使用xdebug_debug_zval('b');运行结果为:a:(refcount= ...
- vscode安装
vscode是一个很好用而且开源的编辑器,支持多种编程语言,这里稍微总结一下使用,省的以后再安装时候再百度查 下载地址:https://code.visualstudio.com/,打开以后点击dow ...
- 怎样理解prototype对象的constructor属性
function Person(name){ this.name = name; } var lilei = new Person("Lilei"); lilei.construc ...
- 18-MySQL DBA笔记-MySQL Server调优
第18章 MySQL Server调优 本章将为读者介绍针对MySQL Server的优化,这也是DBA最熟悉的领域之一.首先我们介绍MySQL的主要参数,然后,讲述常见硬件资源的优化.我们假设读者已 ...
- (十二)SpringBoot之Spring-Data-Jpa(一)
一.Spring-Data-Jpa概念 JPA(Java Persistence API)定义了一系列对象持久化的标准,目前实现这一规范的产品有Hibernate.TopLink等. Spring D ...
- C语言数组不知道输入几个整数以及输入一直到为0
输入一直到为0: ){ } 数组不知道输入几个整数: ],num=; for(;;num++){ scanf("%d",&array[num]); if(getchar() ...
- 题解 P3378 【【模板】堆】
Update 18.2.27----想当年我还用着C..... 看到题解里一堆用C++ STL库中的优先队列,身为C语言选手心里不是滋味 故手打一个优先队列献给坚守在C语言的选手 #include & ...
- golang GC(二 定位)
前面已经介绍过golang的GC算法.要是我们的程序在运行是因为GC导致行能下降,该如何定位呢?说实话,工作中由于对go的gc问题不重视,根本没考虑过这个问题,今天特意来补补课.