2 mongodb设置密码登录和创建库
Posted 滴水可以穿石
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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设置密码登录和创建库的主要内容,如果未能解决你的问题,请参考以下文章