mongodb Enable Auth

  1. 启动mongodb没有使用通道控制

    mongod --port 27017 --dbpath /data/db1

  2. 连接mongo

    mongo --port 27017

  3. 创建用户

     use admin
     db.createUser(
       {
         user: "myUserAdmin",pwd: "abc123",roles: [ { role: "userAdminAnyDatabase",db: "admin" } ]
       }
     )
  4. 开启access control之后,重新运行mongodb实例
    在配置文件中添加security.authorization: enabled

mongod --auth --port 27017 --dbpath /data/db1

  1. 连接并且验证用户
    使用mongo shell,你可以:
    直接指定用户密码验证

    mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"
    不指定密码,登录以后使用db.auth()
    mongo --port 27017
    use admin
    db.auth("myUserAdmin","abc123" )

  2. 创建其他用户
    一旦administrator认证通过之后,就可以使用db.createUser()来创建其他的用户,你可以给用户分配built-in role或者user-defined roles
    之前创建的myUserAdmin用户,仅仅是用来管理用户和角色,作为myUserAdmin,如果你尝试执行一些其他操作,像在 test 数据库中读取foo collection,这将会报错。

     use test
     db.createUser(
       {
         user: "test",pwd: "123456",roles: [ { role: "readWrite",db: "test" },{ role: "read",db: "reporting" } ]
       }
     )
  3. 连接和认证test

    mongo --port 27017 -u 'test' -p '123456' --authenticationDatabase "test"
    或者:
    mongo --port 27017
    use test
    db.auth('test','123456')

相关文章

文章浏览阅读552次。com.mongodb.MongoQueryException: Quer...
文章浏览阅读635次,点赞9次,收藏8次。MongoDB 是一种 NoSQ...
文章浏览阅读2.1k次。和。_mongodb 日期类型
文章浏览阅读1.7k次。Scalestack等客户期待使用MongoDB Atla...
文章浏览阅读970次。SpringBoot整合中间件mongodb、ES_sprin...
文章浏览阅读673次。MongoDB 简介_尚医通sql