如何创建mongoDB应用数据库并授权?

MongoDB

1 前言

一个问题,一篇文章,一出故事。
笔者今天完成最新版本的MongoDB服务端的安装配置,现在需要完成应用数据库的创建并授权。

2 最佳实践

2.1 测试环境

如何部署Oracle Linux 9.x yum部署MongoDB?

2.2 创建的操作

2.2.1 管理员身份登陆

mongosh --port 27017  --authenticationDatabase "admin" -u "root" -p

2.2.2 创建数据库并授权

test> use appDB

appDB> db.createUser({
  user: "appUser",
  pwd: "appUserPWD",
  roles: [
    {
      role: "readWrite",
      db: "appDB"
    }
  ],
  customData: {
    description: "appDB for appUser"
  }
})

关键权限角色说明

角色	  权限说明
read	  仅能读取指定数据库的内容
readWrite 可读写指定数据库的内容(最常用)
dbOwner	  拥有指定数据库的全部权限(含管理、修改)
dbAdmin	  仅拥有数据库的管理权限(无数据读写权限)

用户创建后,你可以使用如下命令验证,

appDB> show users;

可见如下显示,

[
  {
    _id: 'appDB.appUser',
    userId: UUID('a183f5bf-616c-402a-b237-6d1ef70122d4'),
    user: 'appUser',
    db: 'appDB',
    customData: { description: 'appDB for appUser' },
    roles: [ { role: 'readWrite', db: 'appDB' } ],
    mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
  }
]

2.2.3 测试配置

mongosh --port 27017  --authenticationDatabase "appDB" -u "appUser" -p

2.3 删除的操作

2.3.1 管理员身份登陆

mongosh --port 27017  --authenticationDatabase "admin" -u "root" -p

2.3.2 删除用户

test> use appDB
appDB> db.dropUser("appUser")

2.3.3 删除数据库

use appDB
appDB> db.dropDatabase()
没有评论

发表回复

MongoDB
如何部署Oracle Linux 9.x yum部署MongoDB?

1 理论知识 1.1 简介 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为 …

MongoDB
如何安装Ubuntu MongoDB Compass?

1 前言 一个问题,一篇文章,一出故事。 笔者今天需要连接mongodb数据库服务端,于是整理当前章 …

MongoDB
如何部署Oracle Linux 9.x的低版本MongoDB?

1 理论知识 1.1 简介 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为 …