【MongoDB系列】基础配置与常用命令
【MongoDB系列】基础配置与常用命令
设置 admin
use admin  
db.createUser({
  user: 'admin',  // 用户名
  pwd: '123456',  // 密码
  roles:[{
    role: 'root',  // 角色
    db: 'admin'  // 数据库
  }]
})
设置完成,可以输入 show users 查看是否设置成功。
开启验证
找到 MongoDB 安装目录,打开 mongod.cfg文件,找到以下这句:
#security:
修改为:
security:
  authorization: enabled
登录数据库
// 方式一
mongo
use admin
db.auth('admin', '123456')
// 方式二
mongo admin -u admin -p 123456
这时候我们就可以正常访问和操作数据了。
远程连接
mongodb://用户名:密码@ip或域名:27017/?authSource=数据库名&readPreference=primary&directConnection=true&ssl=false
添加数据库用户
我们除了可以设置数据库的超级管理员以外,还可以给每个数据库设置单独的管理员。其只有操作单独数据的一定权限。
use test  // 跳转到需要添加用户的数据库
db.createUser({
  user: 'fooadmin',  // 用户名
  pwd: '123456',  // 密码
  roles:[{
    role: 'readWrite',  // 角色
    db: 'test'  // 数据库名,该用户只能操作该数据库
  }]
})
常用命令
- 
查看当前库下的用户: show users
- 
删除用户: db.dropUser('testadmin')
- 
修改用户密码: db.updateUser('admin', {pwd: '654321'})或db.changeUserPassword('username', 'pwa')
- 
密码认证: db.auth('admin', '654321')
- 
查看所有数据库: show dbs
- 
查看当前数据库下的集合: show collections
- 
查看所有数据库的用户: db.system.users.find()
- 
查看当前数据库的所有用户: show users
- 
删除单个用户: db.system.users.remove({user:"XXXXXX"})
- 
删除所有用户: db.system.users.remove({})
- 
删除用户: db.dropUser('admin')
忘记密码
- 
修改mongodb配置,将authorization 改为disable,重启MongoDB; vim /etc/mongodb.conf;
- 
切换到忘记密码的数据库,执行修改密码命令; 
- 
修改密码 db.changeUserPassword('username', 'pwa');
- 
修改成功后再将authorization设置成enabled。如果改成enable后无法连接mongodb,则可尝试注释掉authorization; 
导入数据(json)
mongoimport --db 数据库名称 --collection 集合名称 --file json文件具体路径
- 注意:
在导入数据时 --collection 对应的集合名称必须与 --file路径下的集合名称相一致,否则会出现如下错误,这是个容易被忽略的坑:error validating settings: incompatible options: --file and positional argument(s)
- 实际示例 :
mongoimport --db xxx_name --collection mycolle --file d:/Database/temp/mycolle.json
导出数据
- 
导出的文件有两种格式:json/csv; 
- 
此处导出的是json文件; 
- 
对于导出CSV文件是需要额外指定一个变量 -field '对于的字段名称' 
- 
导出json文件命令组成: 
mongoexport -h 数据库所在主机地址(若是本地则为127.0.0.1,若是远程则写为远程地址IP) -d 要导出的数据库名称 -c 集合名称 -o 输出多的json文件路径
- 导出csv文件命令组成 :
mongoexport -h 主机地址 -d 数据库名称 -c 集合名称 --csv --field 字段列表 -o 输出地址
实际示例:
mongoexport -h 127.0.0.1 -d test_new -c mycolle -o D:\Database\temp\mycolle.json
MongoDB 数据库默认角色
- 数据库用户角色:read、readWrite
- 数据库管理角色:dbAdmin、dbOwner、userAdmin
- 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager
- 备份恢复角色:backup、restore
- 所有数据库角色: readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
- 超级用户角色:*root
 微信
              微信
             支付宝
              支付宝
            