【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')

忘记密码

  1. 修改mongodb配置,将authorization 改为disable,重启MongoDB; vim /etc/mongodb.conf;

  2. 切换到忘记密码的数据库,执行修改密码命令;

  3. 修改密码 db.changeUserPassword('username', 'pwa');

  4. 修改成功后再将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 数据库默认角色

  1. 数据库用户角色:readreadWrite
  2. 数据库管理角色:dbAdmindbOwneruserAdmin
  3. 集群管理角色:clusterAdminclusterManagerclusterMonitorhostManager
  4. 备份恢复角色:backuprestore
  5. 所有数据库角色: readAnyDatabasereadWriteAnyDatabaseuserAdminAnyDatabasedbAdminAnyDatabase
  6. 超级用户角色:*root
文章作者: 小森森
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小森森博客
博客 数据库
喜欢就支持一下吧
打赏
微信 微信
支付宝 支付宝