美文网首页
docker版mongo添加用户名密码

docker版mongo添加用户名密码

作者: 不像狮子座 | 来源:发表于2019-12-17 10:10 被阅读0次

    1、拉取镜像

    保证机器连接外网

    docker pull docker.io/mongo:3.5
    

    2、run一个mongo容器

    # --auth 为开启密码授权访问。
    docker run -d --name b-mongo -p 27019:27017 -v /data/bmongo/db:/data/db --restart always   docker.io/mongo:3.5 --auth
    

    3、进入mongo客户端,添加用户

    # 进入mongo命令端:
    docker exec -it b-mongo mongo
    
    # 选择admin库,创建用户:
    use admin
    
    db.createUser({ 
        user: 'admin', 
        pwd: 'mongo_123', 
        roles: [ { role: "root", db: "admin" } ] });
    
    # 这样就相当于创建了一个用户
    # 上面创建的用户角色是超级账号,是超级用户
    # role后面的参数可以参考下面:
    
    read:允许用户读取指定数据库
    readWrite:允许用户读写指定数据库
    dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
    userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
    clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
    readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
    readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
    userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
    dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
    root:只在admin数据库中可用。超级账号,超级权限
    
    # 退出后用密码登录:
    docker exec -it a-mongo mongo -u admin -p mongo_123 --authenticationDatabase admin
    
    # 切换用户
    db.auth("root","admin")
    

    相关文章

      网友评论

          本文标题:docker版mongo添加用户名密码

          本文链接:https://www.haomeiwen.com/subject/yrfsnctx.html