• 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数据库中可用。超级账号,超级权限
    
  • 相关阅读:
    POJ1006: 中国剩余定理的完美演绎(非原创)
    poj 1001 分析
    document.createElement()的用法
    js innertext
    转csdn-css4
    css中最基本几个选择器
    Django解决(1146, "Table 'd42.django_session' doesn't exist")方法
    django清理migration终极解决办法
    linux中的fork炸弹
    nginx转发php文件到php-fpm服务器提示502错误
  • 原文地址:https://www.cnblogs.com/huningfei/p/12876909.html
Copyright © 2020-2023  润新知