MongoDB用户授权和管理

原文地址:https://blog.csdn.net/yu757371316/article/details/55210536

1、mongodb安装好后第一次进入是不需要密码的,也没有任何用户,通过shell命令可直接进入,cd到mongodb目录下的bin文件夹,执行命令./mongo即可 
运行如下:

1 [[email protected] mongodb]# ./bin/mongo
2 MongoDB shell version: 1.8.2
3 connecting to: test
4 > use test;
5 switched to db test

2、添加管理用户(mongoDB 没有无敌用户root,只有能管理用户的用户 userAdminAnyDatabase),

>use admin
>db.createUser( {user: "admin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})

注:添加完用户后可以使用show users或db.system.users.find()查看已有用户

3、添加完管理用户后,关闭MongoDB,并使用权限方式再次开启MongoDB,这里注意不要使用kill直接去杀掉mongodb进程,(如果这样做了,请去data/db目录下删除mongo.lock文件),可以使用db.shutdownServer()关闭

4、使用权限方式启动MongoDB

./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/log/mongod.log --fork --auth

  

或者在配置文件中修改:

 auth = true
#noauth = true

  

5、进入mongo shell,使用admin数据库并进行验证,如果不验证,是做不了任何操作的。

> use admin
> db.auth("admin","123456")   #认证,返回1表示成功

  

6、验证之后还是做不了操作,因为admin只有用户管理权限,下面创建用户,用户都跟着库走,

> use mydb
> db.createUser({user: "root",pwd: "123456",roles: [{ role: "readWrite", db: "mydb" }]})

  

7、使用创建的用户root登录进行数据库操作:

1 [[email protected] mongodb]# mongo 127.0.0.1/mydb -uroot -p
2 MongoDB shell version: 3.2.9
3 Enter password:
4 connecting to: 127.0.0.1/mydb
5 > db
6 mydb
7 > use mydb
8 switched to db mydb
9 > show collections

或者使用:

./mongo -u username -p password --port port --authenticationDatabase databaseName
./mongo databaseName -u username -p password --port port

  

然后就可以进行增删改查各种数据操作…

8、查看已存在的用户

> db.system.users.find()

  

9、删除用户

> use mydb
> db.system.users.remove({user:"root"})
> db.system.users.find()

  

原文地址:https://www.cnblogs.com/phpk/p/10937647.html

时间: 2024-11-09 00:08:23

MongoDB用户授权和管理的相关文章

MongoDB用户及权限管理(二):用户管理

一.创建管理员账号 下面开始创建一个帐号,该账号需要有grant权限,即:账号管理的授权权限.注意一点,帐号是跟着库走的,所以在指定库里授权,必须也在指定库里验证(auth). > use admin switched to db admin > db.createUser( { user:  "dba", pwd:  "dba", roles:  [ { role: "userAdminAnyDatabase", db: "

MongoDB用户及权限管理(一):角色说明

mongodb安装完后默认是不开启auth模块的,普通用户和超级管理员均不通过认证就可操作.当然裸奔有风险,安全起见还是开启auth模块. 首先需要了解下面几点: 1.mongodb是没有默认管理员账号,所以要先添加管理员账号,然后开启权限认证. 2.切换到admin数据库,添加的账号才是管理员账号. 3.用户只能在用户所在数据库登录,包括管理员账号. 4.管理员可以管理所有数据库,但是不能直接管理其他数据库,要先在admin数据库认证后才可以.这一点比较怪. 1.用户权限角色说明 1.1  D

为mongodb加用户授权并使用RockMongo进行管理

在刚安装完mongodb后是没有管理员的,如果要为mongodb设置管理员在启动时需要以用户授权的方式启动: /usr/local/webserver/mongodb/bin/mongod --dbpath=/usr/local/webserver/mongodb/data --logpath=/usr/local/webserver/mongodb/logs --auth & 启动后登陆mongodb /usr/local/webserver/mongodb/bin/mongo 选择admin

MongoDB系列---用户及权限管理02

MongoDB-——Privilege 学习大纲: 1.用户权限管理 2.用户操作 知识回顾:  本系列上一篇博文我们讲述了如何搭建环境以及配置我们的MongoDB,通过搭建环境后我们又学习了如何通过简单的命令和配置来启动关闭我们的MongoDB. 一 用户及权限管理 前言: MongoDB 作为时下最为热门的数据库,那么其安全验证也是必不可少的,否则一个没有验证的数据库暴露出去,任何人可随意操作,这将是非常危险的.我们可以通过使用为MongoDB 创建用户的方式来降低风险 1 MongoDB用

mongodb用户管理简单记录

Mongodb用户分为三种 1.全局用户 2.数据库对应用户 3.只读用户 查看所有的数据库 > show dbs admin      0.078GB book_blog  0.078GB local      0.078GB mydb       0.078GB newdb      0.078GB test       0.078GB 查看现有所有的有哪些用户,要切换到admin数据库中 > use admin switched to db admin > db.system.us

MySQL数据库用户授权管理

一.用户授权 1.注意事项: -  MySQL数据库服务器搭建好之后,放在独立的房间里或者是IDC机房,MySQL数据库服务默认只允许数据库管理员root在本地登录,要在其他客户端登录管理数据库则需要授权才可以. -  程序员(网站运行数据)编程使用数据库都是在客户端,需要授权. -  默认只有数据库管理员在数据库服务器本机登录才有授权权限 2.授权库mysql,主要的几个表: - user表:记录用户的信息 host:客户端 user:授权用户名password:授权用户密码  *_priv:

MongoDB导入、导出、备份、恢复、用户授权(四)

五:MongoDB导入.导出.备份.恢复.用户授权 一:数据导出,数据导入 作为DBA(管理员),经常会碰到导入导出数据的需求,下面介绍实用工具(自带的): 1:数据导入 mongoexport 导出csv格式的文件 ./mongoexport -d Test -c user1 -o /tmp/user1.out     --指定导出文件位置及文件名 数据库       集合(表) ./mongoexport -d my_mongodbTest -c user --csv -f uid,name

Oracle 用户,授权,管理

创建和删除用户是Oracle用户管理中的常见操作,但这其中隐含了Oracle数据库系统的系统权限与对象权限方面的知识.掌握还Oracle用户的授权操作和原理,可以有效提升我们的工作效率. Oracle数据库的权限系统分为系统权限与对象权限.系统权限( Database System Privilege )可以让用户执行特定的命令集.例如,CREATE TABLE权限允许用户创建表,GRANT ANY PRIVILEGE 权限允许用户授予任何系统权限.对象权限( Database Object P

密码恢复及设置,用户授权及撤销,MySQL管理工具

密码恢复及设置 1.1 问题 本案例要求熟悉MySQL管理密码的控制,完成以下任务操作: 练习重置MySQL管理密码的操作 通过正常途径设置MySQL数据库的管理密码 1.2 步骤 实现此案例需要按照如下步骤进行. 步骤一:重置MySQL管理密码 1)首先停止已运行的MySQL服务程序 [[email protected] ~]# systemctl stop mysqld.service         //停止服务 [[email protected] ~]# systemctl statu