萌亖 2020-05-12
首先登录,mongo,登录成功之后,查看数据库
> show dbs admin 0.000GB config 0.000GB local 0.000GB
use admin//需要切换到admin库 db.createUser( { user: "admin", customData: {description: "superuser"}, pwd: "admin122", roles: [ { role: "root", db: "admin" } ] } )
验证用户是否创建成功
> db.auth("admin","admin122") 1
列出所有用户,需要切换到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" ] }
默认创建完用户之后是不生效的,需要更改配置文件,然后重启服务
vim /etc/mongod.conf
security: authorization: enabled
systemctl restart mongod
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数据库中可用。超级账号,超级权限