1.新安装的mongodb账号密码及用户权限配置

新安装的MongoDB是没有账号设置的,也就是说任何人都可以连接进MongoDB,这是非常不安全的。所以我们需要对MongoDB进行设置账号,来控制对数据库的访问。

admin数据库

admin数据库是MongoDB安装时就会自动创建的.

使用:show dbs进行查看有多少个数据库:

大家可以从上面看到,新安装的MongoDB默认创建三个数据库,admin、config、local.
- config数据库暂时不知道用处,如果谁知道,忘告知。
- local数据库内部有一个startup_log的集合,内部存储了连接MongoDB的记录信息。

对于admin数据库,这是一个比较特殊的数据库,具有一些普通数据库没有的功能,比如有些用户账号被赋予能够操作对个数据库的权限,这些角色就只能在admin中创建,比如能够操作所有数据库的超级用户,当然普通数据库也可以创建用户,但是普通数据库创建的用户只能用于创建用户的数据库。当连接验证用户的时候,MongoDB会从指定数据库的用户与admin的用户检查用户信息。

进入admin:

 创建用户的格式:

{
  user: "<name>",
  pwd: "<cleartext password>",
  customData: { <any information> },
  roles: [
    { role: "<role>", db: "<database>" } | "<role>",
    ...
  ],
  authenticationRestrictions: [
     {
       clientSource: ["<IP>" | "<CIDR range>", ...]
       serverAddress: ["<IP>" | "<CIDR range>", ...]
     },
     ...
  ]
}

用户角色可选:

 

例子:

db.createUser({ user: "hmy", pwd: "123456", roles: [{ role: "root", db: "admin" }] })

就是创建名为hmy的root用户,密码是123456,操作的数据库是admin

6. 查看用户
show users

7. 删除用户
删除用户必须由账号管理员来删,所以,切换到admin角色

use admin

db.auth("admin","password")

删除单个用户

db.system.users.remove({user:"XXXXXX"})

删除所有用户

db.system.users.remove({})

修改用户账号:

对于用户的账号的修改维护,MongoDB提供了一些方法,由于方法都比较简单,我这里就不做演示了,下表为方法列表:

删除用户:

删除用户,MongoDB提供了三个方法,

db.removeUser(username):这个方法是2.6版本以前的删除用户的方法,2.6版本以后不建议使用,虽然该方法也能够删除用户,但会报不建议使用的警告。
db.dropUser(username):这个方法是上个方法的替代方法
db.dropAllUsers():删除当前数据的所有用户

附上客户端连接mongo

穷则独善其身,达则兼济天下……
原文地址:https://www.cnblogs.com/hmy-666/p/14455316.html