heidsoft / cloud-bigdata-book

write book
56 stars 33 forks source link

mongo操作 #49

Closed heidsoft closed 5 years ago

heidsoft commented 6 years ago

MongoDB高级查询详细

> show dbs    -- 查看数据库列表

> use admin   --创建admin数据库,如果存在admin数据库则使用admin数据库

> db   ---显示当前使用的数据库名称

> db.getName()  ---显示当前使用的数据库名称

> db.dropDatabase()  --删当前使用的数据库

> db.repairDatabase()  --修复当前数据库

> db.version()   --当前数据库版本

> db.getMongo()  --查看当前数据库的链接机器地址 

> db.stats() 显示当前数据库状态,包含数据库名称,集合个数,当前数据库大小 ...

> db.getCollectionNames()   --查看数据库中有那些个集合(表)

> show collections    --查看数据库中有那些个集合(表)

> db.person.drop()  --删除当前集合(表)person
heidsoft commented 6 years ago

创建超级管理员及普通的用户 修改用户密码

注意一点,帐号是跟着库走的,所以在指定库里授权,必须也在指定库里验证(auth)

常用到的角色介绍:

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

1.在数据库安装成功的基础上连接上客户端输入如下指令:

 use admin

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

注意:创建超级管理员成功

2.创建读写用户指令如下:

use test
db.createUser(
  {
    user: "test",
    pwd: "123456",
    roles: [ { role: "readWrite", db: "test" } ]
  }
)

3.创建只读用户指令:

use test
db.createUser(
  {
    user: "read",
    pwd: "123456",
    roles: [ { role: "read", db: "test" } ]
  }
)

4.修改用户密码首先要登录到对应的用户然后执行如下命令:

db.updateUser(
   "test",
   {
      pwd: "test",
      customData: { title: "Senior Manager" }
   }
)
heidsoft commented 6 years ago

https://blog.csdn.net/u010649766/article/details/78498130 https://blog.csdn.net/qq_21460229/article/details/70935170