美文网首页程序员
Mongodb账户管理

Mongodb账户管理

作者: 哈比猪 | 来源:发表于2016-08-19 14:57 被阅读0次

介绍

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()

相关文章

  • 2018-03-27

    MongoDB的账户与权限管理 默认的MongoDB是没有账户权限管理的,也就是说,不需要密码即可登陆,即可拥有读...

  • Mongodb账户管理

    介绍 Mongodb是一个schema free的非sql类分布式数据库,可以利用它做很多很灵活的存储和操作,最近...

  • 第四章 配置用户账户和访问控制

    提示 用户管理员账户和数据库管理员账户都是在数据库admin中创建的,在MongoDB服务器中启用身份验证后,要以...

  • MongoDB3.2.8创建初始用户

    启动MongoDB前需要关闭配置文件中的auth选项,否则不能创建用户 首先创建用户管理用户 使用用户管理账户登录...

  • Mongodb基本操作

    mongodb数据库管理: Mongodb插入文档: Mongodb更新文档 Mongodb删除文档: Mongo...

  • NoSQL三--mongodb(一)

    目录 一、mongodb介绍二、mongodb安装三、连接mongodb四、mongodb用户管理五、mongod...

  • MongoDB学习报告(二)

    概述 MongoDB索引管理MongoDB查询优化 MongoDB索引管理 单键索引中的每一项都应该对应被索引文档...

  • 配置MongoDB认证账户

    最近准备使用MongoDB,就官网下载了一个MongoDB3的安装包下载,但是在配置安全模式启动并使用数据库认证的...

  • Mongodb 账户权限配置

    1、创建超级管理用户 2、修改 Mongodb 数据库配置文件 3、重启 mongodb 服务 4、用超级管理员账...

  • MongoDB基础3——Mongoose的数据交互问题

    欢迎阅读MongoDB相关文章: MongoDB基础0——MongoDB的安装与可视化管理工具MongoDB基础1...

网友评论

    本文标题:Mongodb账户管理

    本文链接:https://www.haomeiwen.com/subject/evlbsttx.html