跳到主要内容

MongoDB 创建用户并授予指定数据库读写权限

小林
后端开发工程师, 专注Go开发、微服务和云原生

为了数据安全性, 给每个用户最小权限是一个好的习惯

experiment-mishap.png

本来以为在 MongoDB 官方提供的可视化界面工具 Compass 上点点就行的, 没想到居然不支持创建用户, 看来得用命令行

首先打开命令行界面

img

切换目标数据库

use crawlab_worker

img

注意

注意, 这一步非常重要, MongoDB 的用户权限与数据库绑定,用户必须在对应数据库中创建 如果没有切换数据库直接创建用户, MongoDB 不报错, 但是无法连接上数据库, 可以说非常坑

创建用户

db.createUser({
user: "worker",
pwd: "worker",
roles: [
{ role: "readWrite", db: "crawlab_worker" }
]
})
  • user 改为自己的用户名, pwd 改为自己的密码
  • role: "readWrite":授予用户对数据库的读写权限
  • db: "crawlab_worker":权限作用域限定在 crawlab_worker 数据库,用户无法访问其他数据库

校验连接

img

成功连上

img