Vito

取是能力,舍是境界


  • 首页

  • 关于

  • 排行榜

  • 标签

  • 分类

  • 归档

  • 读书

  • 电影

  • 搜索

Mongodb 常用命令

发表于 2018-01-06 更新于 2018-09-20 分类于 NoSQL Hot: ℃
本文字数: 955 阅读时长 ≈ 1 分钟

基本操作

连接数据库

1
./mongo 127.0.0.1:7003/admin -u admin -p

认证

1
db.auth('userName','pwd')

数据库操作

1
2
# 查看数据库
show dbs

用户管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 查看用户
show users

# 创建用户
use admin
db.createUser(
{
user: "root",
pwd: "abcd-1234",
roles: [ { role: "root", db: "admin" } ]
}
)

# 删除用户
use dbName
db.dropUser("userName")

# 修改密码
# 方法1:
db.changeUserPassword("userName","newPwd")
# 方法2:
db.updateUser("userName",{pwd:"newPwd"})

# 修改权限
db.updateUser("userName",{roles:[{role:"read",db:"testDB"}]})
# 注:updateuser 它是完全替换之前的值,如果要新增或添加 roles 而不是代替它

# 添加权限
db.grantRolesToUser("userName", [{role:"readWrite", db:"testDB"},{role:"read", db:"testDB"}])

# 删除权限
db.revokeRolesFromUser("userName",[{role:"read", db:"testDB"}])

权限详解

内建角色

  1. 数据库用户角色: read、readWrite
  2. 数据库管理角色: dbAdmin、dbOwner、userAdmin
  3. 集群管理角色: clusterAdmin、clusterManager、clusterMonitor、hostManager
  4. 备份恢复角色: backup、restore
  5. 所有数据库角色: readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  6. 超级用户角色: root;这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
  7. 内部角色: __system

角色说明

  1. Read: 允许用户读取指定数据库
  2. readWrite: 允许用户读写指定数据库
  3. dbAdmin: 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
  4. userAdmin: 允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
  5. dbOwner: 允许在当前DB中执行任意操作
  6. readAnyDatabase: 赋予用户所有数据库的读权限,只在admin数据库中可用
  7. readWriteAnyDatabase: 赋予用户所有数据库的读写权限,只在admin数据库中可用
  8. userAdminAnyDatabase: 赋予用户所有数据库管理User的权限,只在admin数据库中可用
  9. dbAdminAnyDatabase: 赋予管理所有数据库的权限,只在admin数据库中可用
  10. root: 超级账号,超级权限,只在admin数据库中可用。

集群管理角色

  1. clusterAdmin: 赋予管理集群的最高权限,只在admin数据库中可用
  2. clusterManager: 赋予管理和监控集群的权限
  3. clusterMonitor: 赋予监控集群的权限,对监控工具具有 readonly 的权限
  4. hostManager: 赋予管理Server

数据导入导出

csc 导入 mongo

1
2
3
4
mongoimport -h [host] --port [port] -u [userName] -p [password] -d [dbName] -c [collectionName] --type csv --headerline  --file [importPath]

# 例子:
mongoimport -h 127.0.0.1 --port 7003 -u edudot -p abcd-1234 -d edudot -c users --type csv --headerline --file "D:\Users\Wenhao.Wu\Desktop\users.csv"

mongo 导出

1
2
3
4
mongoexport -h [host] --port [port] -u [userName] -p [password] -d [dbName] -c [collectionName] -f [字段,多个资源英文逗号分隔] --type=csv -o [exportPath] --query=[queryString] --limit=[limitNum]

# 例子:
mongoexport -h 127.0.0.1 --port 7003 -u admin -p abcd-1234 -d edudot -c fc_msg -f _id,category --type=csv -o "D:\Users\Wenhao.Wu\Desktop\test.csv" --query="{'_id':'asfd'}" --limit=500

参考文章

piaoxuexieMongoDB 创建用户 修改权限 修改密码 删除用户
  • 本文作者: Vito
  • 本文链接: https://alienwow.cc/posts/2018/01/mongodb-common-commands/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
# Mongodb # NoSQL
Git常用命令
部署生产环境shell脚本
  • 文章目录
  • 站点概览
Vito

Vito

取是能力,舍是境界
12 日志
8 分类
27 标签
GitHub WTM E-Mail
  1. 1. 基本操作
    1. 1.1. 连接数据库
    2. 1.2. 认证
    3. 1.3. 数据库操作
    4. 1.4. 用户管理
  2. 2. 权限详解
    1. 2.1. 内建角色
    2. 2.2. 角色说明
    3. 2.3. 集群管理角色
  3. 3. 数据导入导出
    1. 3.1. csc 导入 mongo
    2. 3.2. mongo 导出
  4. 4. 参考文章
京ICP备16041040号-1 © 2016 – 2019 Vito | 站点总字数: 7k | 站点阅读时长 ≈ 6 分钟
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Mist v7.3.0
|