mongodb用户密码设置

mongodb用户密码设置

安全: 设置用户和密码,通过用户名和密码才能操作mongodb服务器

  1. 默认情况没有用名和密码

  2. 单独设置
    a. 以无密码的形式连接到服务器

    mongo.exe
    

    b. 创建超级管理员密码
    ​ 创建一个数据admin

    use admin
    

    ​ 创建超级管理员账号(文档)
    ​ db.createUser({user:“用户名”,pwd:“密码”,roles:[“root”]})

    db.createUser({"user":"root",pwd:"root1234",roles:["root"]})
    

    c. 验证密码
    ​ 需要切换到admin数据库,才能验证
    ​ db.auth(‘用户名’,‘密码’)

    db.auth("root","root1234")
    

    d. 重新挂起mongo服务
    ​ 之前挂起的服务不要验证用户

    1. 先停止之前的mongo服务
        net stop mongodb
    
    2. 卸载服务
        sc delete mongodb
    
    3. 重新挂载服务,要验证
        mongod.exe --dbpath "E:/MongoDB/db" --logpath "E:/MongoDB/log/mongodb.log" --install --serviceName 'mongodb' --auth
    
        注意: 多添加了一个 --auth ,表示需要验证用户
    
        开启服务
        net start mongodb
        
    4. 测试密码是否生效
        1. 连接到mongo
            mongo.exe
        2. show dbs
            报错.说明,没有权限
    
        3. use admin
            show collections
            报错
    
        4. 验证超级管理员账号(登陆)
            use admin
            db.auth('root','root1234')
    
        5. 添加普通用户
            超级管理员必须验证通过后才能添加普通用户
            use admin
            db.createUser({user:"用户名",pwd:"密码",roles:[{role:"dbOwner",db:"数据库名"}]});
    
            db.createUser({"user":"singer",pwd:"singer",roles:[{"role":"dbOwner","db":"singer"}]})
    
        6. 新开dos窗口, 普通用户登陆
            1. 连接 mongo.exe
    
            2. 验证用户
                use admin
                db.auth("singer","singer")
    
                验证通过切换到有权限的库
                use singer
                show collections;
    

猜你喜欢

转载自blog.csdn.net/weixin_43958804/article/details/84856249
今日推荐