美文网首页
阿里云 MongoDB 数据库 设置用户名密码

阿里云 MongoDB 数据库 设置用户名密码

作者: 前端新阳 | 来源:发表于2021-04-30 11:08 被阅读0次
  • 考虑到数据的安全问题,这里给数据库加一个账号密码功能

设置超级管理员角色步骤

  1. 登录服务器
ssh root@公网IP
  1. 进入 mongo
mongo
image.png
  1. 查看有哪些数据库
show dbs
  1. 进入 admin 数据库
use admin

5.【重要】:设置超级管理员角色

db.createUser({
  user: 'admin',  // 用户名
  pwd: '123456',  // 密码
  roles:[{
    role: 'root',  // 角色
    db: 'admin'  // 数据库
  }]
})

【MongoDB 数据库默认角色】:
  1. 数据库用户角色:read、readWrite
  2. 数据库管理角色:dbAdmin、dbOwner、userAdmin
  3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager
  4. 备份恢复角色:backup、restore
  5. 所有数据库角色: readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  6. 超级用户角色:root

  1. 设置完成,查看是否设置成功
show users
  1. 退出数据库
exit

开启验证步骤

  1. 找到 MongoDB 安装目录,打开 mongod.cfg 文件
vi /etc/mongod.conf
  1. 开启权限,更换端口号(根据自己意愿改)
security:
  authorization: enabled
修改mongod.conf配置文件
  1. 重启 MongoDB 服务
service mongod restart
重启服务

mongoose 连接数据库代码

  • 【注】:如下连接带账号权限的mongodb数据库
// mongoose.connect('mongodb://用户名:密码@公网IP:端口号/数据库名?authSource=要验证的数据库名',{ useMongoClient: true });  
mongoose.connect('mongodb://dbName:admin@localhost:3360/taobao?authSource=taobao',{ useMongoClient: true });  

登录数据库

// 方式一
mongo
use admin
db.auth('admin', '123456')

// 方式二
mongo admin -u admin -p 123456

// 方式三 (带端口号)
mongo admin -u admin --port 27017 -p 123456

添加数据库用户

我们除了可以设置数据库的超级管理员以外,还可以给每个数据库设置单独的管理员。其只有操作单独数据的一定权限。

use test  // 跳转到需要添加用户的数据库
db.createUser({
  user: 'fooadmin',  // 用户名
  pwd: '123456',  // 密码
  roles:[{
    role: 'readWrite',  // 角色
    db: 'test'  // 数据库名
  }]
})

常用命令

show users  // 查看当前库下的用户

db.dropUser('testadmin')  // 删除用户

db.updateUser('admin', {pwd: '654321'})  // 修改用户密码

db.auth('admin', '654321')  // 密码认证

相关文章

网友评论

      本文标题:阿里云 MongoDB 数据库 设置用户名密码

      本文链接:https://www.haomeiwen.com/subject/eohnrltx.html