MongoDB笔记(三):配置访问账号
MongoDB Shell介绍
MongoDB shell 是MongoDB自带的一个交互式的JavaScript shell,配置账号需要使用到。具体更多的用法可以参考:
落_尘 MongoDB学习笔记(五)——MongoDB shell 与 MongoDB Compass
连接数据库
打开Windows命令行,切换到MongoDB安装目录,输入命令
.\mongo localhost:27017/admin
出现类似信息,说明已经成功连上数据库。因为我已经添加了用户,所以命令里带有username、userpassword参数。
添加超级管理员
首先我们需要在自带的admin数据库里添加一个拥有root最高权限的管理账户,用来添加和管理其他账户。
切换到admin
use admin
创建root权限的用户,
db.createUser({user:"root",pwd:"123456",roles:["root"]})
提示
Successfully added user......
说明创建用户成功。
下一步需要开启验证。
开启身份验证
在安装目录\bin里找到配置文件
打开文件找到 security,取消注释,并添加开启验证的设置
修改完成后,重启MongoDB服务。使用命令(需要windows管理员权限):
net stop MongoDB
net start MongoDB
然后断开再重连数据库
> exit
bye
D:\MongoDB\Server\4.0\bin> .\mongo localhost:27017/admin --username root --password 123456
使用命令 show users 可以查看当前数据库的用户
> show users
{
"_id" : "admin.root",
"user" : "root",
"db" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
>
创建普通用户
假设我们有一个名为test的数据库,需要为它创建一个访问账号,应该按照以下步骤操作:
-
切换到test库
use test
-
创建用户,赋予读写权限
db.createUser({user:"test",pwd:"123456",roles:["readWrite"]}) > show users { "_id" : "test.test", "user" : "test", "db" : "test", "roles" : [ { "role" : "readWrite", "db" : "test" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] }
关于更多账户权限和参数的意义,可以参考:
落_尘 MongoDB学习笔记(六)——MongoDB配置用户账号与访问控制
或者官网文档