mongodb相关操作

首先连接mongodb服务器,

1.登录后,输入mongo;连接mongodb,切换数据库  :  user admin;

2.创建用户指令:db.createUser({user:"teaching",pwd:"123",roles:["userAdminAnyDatabase"]});

3.查看步骤2创建的用户: show users

4.关于用户角色说明如下图:

roles 属性
readAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的读权限 (任何数据库的只读权限)
root 只在admin数据库中可用。超级账号,超级权限
userAdminAnyDatabase 只在admin数据库中可用,任何数据库用户的管理权限
dbAdminAnyDatabase 只在admin数据库中可用,任何数据库的管理权限
readWrite 允许用户读写指定数据库
dbAdmin 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile 
userAdmin 允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户 
clusterAdmin 只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。 
readWriteAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的读写权限 

 

二。显示所有数据库:show dbs;

创建新数据库:   use teaching

这样就创建了一个数据库,如果什么都不操作离开的话,这个库就会被系统删除.所以我们还要执行下面的命令:
--db.usr.insert({'name':'teaching_root'});

db.createUser({user:"teaching",pwd:"123",roles:["readWrite"]});

查看数据库用户如下,已经新增成功了:show users;

4、删除用户

 db.removeUser("teaching");

 

.关于用户角色说明如下图:

roles 属性
readAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的读权限 (任何数据库的只读权限)
root 只在admin数据库中可用。超级账号,超级权限
userAdminAnyDatabase 只在admin数据库中可用,任何数据库用户的管理权限
dbAdminAnyDatabase 只在admin数据库中可用,任何数据库的管理权限
readWrite 允许用户读写指定数据库
dbAdmin 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile 
userAdmin 允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户 
clusterAdmin 只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。 
readWriteAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的读写权限 

 

二。显示所有数据库:show dbs;

创建新数据库:   use teaching

这样就创建了一个数据库,如果什么都不操作离开的话,这个库就会被系统删除.所以我们还要执行下面的命令:
--db.usr.insert({'name':'teaching_root'});

db.createUser({user:"teaching",pwd:"123",roles:["readWrite"]});

查看数据库用户如下,已经新增成功了:show users;

4、删除用户

 db.removeUser("teaching");

 

二mongodb设置密码。

 

mongodb密码和传统数据如mysql等有些区别:

  1. mongodb的用户名和密码是基于特定数据库的,而不是基于整个系统的。所有所有数据库db都需要设置密码

mongodb设置管理用户和密码:

  1. show dbs
    在mongodb新版本里并没有admin数据库,但是并不妨碍第2步操作。
  2. use admin 进入admin数据库
  3. 创建管理员账户
    db.createUser({ user: "useradmin", pwd: "123", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
    mongodb中的用户是基于身份role的,该管理员账户的 role是 userAdminAnyDatabase。 ‘userAdmin’代表用户管理身份,’AnyDatabase’ 代表可以管理任何数据库。
  4. 验证第3步用户添加是否成功
    db.auth("useradmin", "123") 如果返回1,则表示成功。
    exit退出系统
    db.auth()方法理解为 用户的验证功能
  5. 修改配置
    sudo vi /etc/mongod.conf
    找到#security: 取消注释,修改为:
    1. security:
    2. authorization: enabled #注意缩进,缩进参照配置文件其他配置。缩进错误可能第6步重启不成功。
  6. 重启mongodb sudo service mongod restart
  7. 进入mongodb,用第3步的 管理员账户登录,用该账户创建其他数据库管理员账号
     
    1.  use admin
    2. db.auth("useradmin", "123")
  8. 新建你需要管理的mongodb 数据的账号密码。

     
    1.  use yourdatabase
    2. db.createUser({ user: "youruser", pwd: "yourpassword", roles: [{ role: "dbOwner", db: "yourdatabase" }] })

    rote:dbOwner 代表数据库所有者角色,拥有最高该数据库最高权限。比如新建索引等

  9. 新建数据库读写账户

     
    1.  use yourdatabase
    2. db.createUser({ user: "youruser2", pwd: "yourpassword2", roles: [{ role: "readWrite", db: "yourdatabase" }] })

    该用户用于该数据的读写,只拥有读写权限。

  10. 现在数据的用户名和密码就建好了。

你可能感兴趣的:(数据库)