资讯专栏INFORMATION COLUMN

mongodb中的添加用户操作

trigkit4 / 3814人阅读

摘要:添加用户有什么用细分权限,限制数据库的访问和使用,提高的安全性。为什么要添加用户防止被人非法使用,做一些非法操作,导致一些严重后果。但是如果之前的并没有创建用户,并且你挂载了,把容器中的数据映射到了宿主机,那你就要进入容器中手动创建用户了。

mongodb添加用户

本教程介绍mongodb中添加用户的一些操作

mongodb中的用户是什么

在mongodb中通过用户来管理每个数据库的权限,想要控制数据库的使用权,就需要添加用户,给指定的用户分配权限,让特定用户来做特定的操作。

添加用户有什么用

细分权限,限制数据库的访问和使用,提高mongodb的安全性。

为什么要添加用户

防止被人非法使用,做一些非法操作,导致一些严重后果。
比如删库跑路─=≡Σ(((つ•̀ω•́)つ

怎么添加用户

首先,在mongod启动时是不会启动校验的

mongod

启动mongod后,连接到mongod

root@e444205572bd:/# mongo
MongoDB shell version v4.1.9
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("e3fd959c-db96-4853-a306-9edcc8c5baa7") }
MongoDB server version: 4.1.9
......

指定到admin数据库下

> use admin
switched to db admin

通过指定的函数创建用户

> db.createUser({user:"user", pwd:"123123", roles:["root"]})
Successfully added user: { "user" : "user", "roles" : [ "root" ] }

通过show查看该数据库的用户

> show users
{
    "_id" : "admin.user",
    "userId" : UUID("95e02aca-49c2-4852-b2bc-7dc4f2738175"),
    "user" : "user",
    "db" : "admin",
    "roles" : [
        {
            "role" : "root",
            "db" : "admin"
        }
    ],
    "mechanisms" : [
        "SCRAM-SHA-1",
        "SCRAM-SHA-256"
    ]
}

创建用户成功

添加用户之后如何连接mongodb

使用mongo连接

root@1410aa527d51:/# mongo -u user -p 123123         
MongoDB shell version v4.1.9
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("8e9a9173-8263-40ea-b814-39090f0c90b7") }
MongoDB server version: 4.1.9
........

在mgo中进行连接

"mongodb://user:123123@localhost:27017"
info := &mgo.DialInfo{
        Addrs:[]string{
            "localhost:27017",
        },
        Direct:false,
        Timeout:30 * time.Second,
        Database: "user",
        Source:"admin",
        Username:"user",
        Password:"123123",
    
    }

    session, err := mgo.DialWithInfo(info)


    //session, err := mgo.Dial(url)
    if err != nil {
        logs.Error(err)
    }
注:

通过docker部署的mongo,在启动时添加参数MONGO_INITDB_ROOT_USERNAMEMONGO_INITDB_ROOT_PASSWORD是可以创建用户的。但是如果之前的mongo并没有创建用户,并且你挂载了volume,把容器中的db数据映射到了宿主机,那你就要进入容器中手动创建用户了。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/19503.html

相关文章

  • yum安装Mongdb3.4

    摘要:默认关闭服务删除用户删除用户需要权限,会将所有数据库中的用户删除删除用户权限要求没有那么高,只删除本数据中的用户查询所有用户启动报错解决在系统上安装之后报错。另外,用户信息保存在中。比如数据库和都有用户,以登录后不能够登录到进行数据库操作 Centos 7 [mongodb-org] name=MongoDB Repository baseurl=http://mirrors.aliy...

    褰辩话 评论0 收藏0
  • GDPR: Impact to Your Data Management Landscape: Pa

    摘要:与欧盟的通用数据保护规定的时间越来越近了。因此无论是否加入了欧盟,只要你正在以任何方式处理欧盟公民的数据,就必须服从的条约。保留个人资料通过使用特定的生存时间索引,管理员可以自动将数据库中的欧盟公民数据过期。   与欧盟的通用数据保护规定的(GDPR)1时间越来越近了。从2018年5月25日起,任何一个未能满足新法规的组织将面临高达全球收入4%的罚款,或者是2000万欧元——无论哪种罚...

    ningwang 评论0 收藏0
  • GDPR: Impact to Your Data Management Landscape: Pa

    摘要:与欧盟的通用数据保护规定的时间越来越近了。因此无论是否加入了欧盟,只要你正在以任何方式处理欧盟公民的数据,就必须服从的条约。保留个人资料通过使用特定的生存时间索引,管理员可以自动将数据库中的欧盟公民数据过期。   与欧盟的通用数据保护规定的(GDPR)1时间越来越近了。从2018年5月25日起,任何一个未能满足新法规的组织将面临高达全球收入4%的罚款,或者是2000万欧元——无论哪种罚...

    Hwg 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<