2 mongodb设置密码登录和创建库

摘要:
超级帐户,超级权限

一 创建用户

首先登录,mongo,登录成功之后,查看数据库

1 查看

> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB


2 创建用户

在admin库里面创建一个用户为admin,密码为admin122

use admin//需要切换到admin库
db.createUser( { user: "admin", customData: {description: "superuser"}, pwd: "admin122", roles: [ { role: "root", db: "admin" } ] } )

验证用户是否创建成功

> db.auth("admin","admin122")
1


3 查看用户

列出所有用户,需要切换到admin库


> db.system.users.find()
{ "_id" : "admin.admin", "userId" : UUID("497463f9-6520-4743-866d-abde0f2588d3"), "user" : "admin", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "NZW2IKw7SjntHynYOK9DNg==", "storedKey" : "+zsDx85UedsoCzWxSqoR2+yFzUg=", "serverKey" : "rfFvQ4hudXbPKYnDWq9YDzwby4I=" }, "SCRAM-SHA-256" : { "iterationCount" : 15000, "salt" : "hK8Ag538a/LSFY1SvWbdYgxPUKjoZwOAK2dYxA==", "storedKey" : "TMvrW/w/gVry7iT0/JlBxzu6+a30HfqVwHiwdlzX6MU=", "serverKey" : "xujwcHIGJAfGcaUqHCxyUs+sczQZFKcRhpbhiDdVLKY=" } }, "customData" : { "description" : "superuser" }, "roles" : [ { "role" : "root", "db" : "admin" } ] }

查看用户信息


> show users
{
	"_id" : "admin.admin",
	"userId" : UUID("497463f9-6520-4743-866d-abde0f2588d3"),
	"user" : "admin",
	"db" : "admin",
	"customData" : {
		"description" : "superuser"
	},
	"roles" : [
		{
			"role" : "root",
			"db" : "admin"
		}
	],
	"mechanisms" : [
		"SCRAM-SHA-1",
		"SCRAM-SHA-256"
	]
}

二 更改配置文件

默认创建完用户之后是不生效的,需要更改配置文件,然后重启服务

1 更改配置文件

vim /etc/mongod.conf

security:
  authorization: enabled

2 重启服务

systemctl restart mongod

3 重新登录

mongo -u "admin" -p "admin122"

三 创建库

首先登录成功之后,使用use db1,就可以创建一个名为db1的新库,但是show dbs的时候是看不到的,这需要我么插入一条数据才可以

use db1
db.db1.insert({"name":"hnf"}) # 插入数据

#查看数据库
> show dbs
admin   0.000GB
config  0.000GB
db1     0.000GB
local   0.000GB

四 用户权限

readWrite:允许用户读写指定数据库
 dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
 userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
 clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
 readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
 readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
 userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
 dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
 root:只在admin数据库中可用。超级账号,超级权限

免责声明:文章转载自《2 mongodb设置密码登录和创建库》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇docker安装7.4.2版本kibana与es(转)mysql中event的用法详解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

NET Core3前后端分离开发框架

NET Core前后端分离快速开发框架 https://www.cnblogs.com/coldairarrow/p/11870993.html 引言 时间真快,转眼今年又要过去了。回想今年,依次开源发布了Colder.Fx.Net.AdminLTE(254Star)、Colder.Fx.Core.AdminLTE(335Star)、DotNettySoc...

2017年陕西省网络空间安全技术大赛WP

前言 为提高大学生的网络安全技术水平,培养大学生的团队协作能力,由陕西省兵工学会主办,西安工业大学承办的“2017年第三届陕西省网络空间安全技术大赛”即将于2017年4月15-16日进行线上初赛,2017年5月13日进行线下总决赛。文章为本次大赛第一名的队伍Mirage的writeup。 web 签到题 直接源代码代码审计,php弱类型 然后第二关...

Golang 对MongoDB的操作简单封装

使用MongoDB的Go驱动库mgo,对MongoDB的操作做一下简单封装 初始化 操作没有用户权限的MongoDB var globalS *mgo.Session func init() { s, err := mgo.Dial(dialInfo) if err != nil { log.Fatalf("Create...

MongoDB 不断发展:发布 1.4 版本,10gen 提供商业支持

3 月25日 MongoDB(取自“humongous”)1.4 版发布 后不久,其创始人Dwight Merriman(前DoubleClick CEO/CTO)宣布10gen —— 开源文档数据库MongoDB背后的公司,将为其提供商业培训和支持。 InfoQ借此机会采访了Merriman,了解了MongoDB的特性、适用性以及在NoSQL数据库社区中...

(02)mongodb 数据库与collection的基本操作

1、查询数据库。 show dbs;或者show databases; 2、创建数据库,必须创建collection,如果只有use shop; 不会创建数据库。 use shop; db.createCollection('goods'); 3、删除数据库。 use shop; db.dropDatabase(); 4、查询collection,先用us...

mongoDB在windows下安装与配置方案

首先在官网下载mongoDB的安装包: https://www.mongodb.org/downloads 百度云盘下载:http://pan.baidu.com/s/1slUSGYp (安装版 windows64位) 注意:根据自己电脑系统下载相应版本 下载完选择(自定义或默认安装),安装文件后: 在D盘中选择建立文件夹命名为 mongonD 在...