小提示
首先进入mongodb的config.conf配置文件,将authorization设置为enabled(表示启用 MongoDB认证功能)并重新启动mongodb。如果不会安装mongodb可以使用宝塔进行安装一般安装完mongodb后,会有默认的admin,config,local这三个默认的库。
1. 使用mongo命令进行连接mongoDB
mongo
执行命令后将会是下面这种情况,即表示登录成功!
2. 创建最高管理员账号
use admin db.createUser({user:"admin",pwd:"123456",roles:[{role:"root",db:"admin"}]})
use admin 表示进到admin库,db.createUser({user:“admin”,pwd:“123456”,roles:[{role:“root”,db:“admin”}]})表示创建一个用户名是admin,密码是123456,角色权限为超级用户角色,db则针对的库
出现以下则表示创建成功 这时候可以用可视化工具连接试试看了,如果本地测试先将mongodb的config.conf配置文件的bindIp: 127.0.0.1改成0.0.0.0并重新启动mongodb
使用命令show users可查看该admin库下的所有用户
3. 为数据库设置独立的登录账号
使用以下命令创建一个名为 test 的数据库,并创建一个普通用户:
use test db.createUser({user:"你自定义的用户名",pwd:"你自定义的密码",roles:[{role:"readWrite",db:"test"}]})
use test 表示进到test库
db.createUser({user:“test”,pwd:“123456”,roles:[{role:“readWrite”,db:“test”}]})表示创建一个用户名是”test,密码是123456,角色权限为可读写,db则针对的库
完成创建如想进入admin库,操作步骤为:
- 输入mongo命令
- 输入use admin命令进入admin库(switched to db admin表示进入成功)
- 输入db.auth(“admin”,“123456”)进行认证登录,admin是你刚刚在这个admin库下创建的用户,1表示成功,0表示登录失败
如果设置了用户跟密码不先认证就操作命令,则会报以下错误提示你认证
常用命令
use dbname // 如果数据库不存在,则创建并切换到该数据库,存在则切换到该数据库 show users // 查看当前库下的用户 show dbs //查询所有数据库 db //当前所在库 db.dropUser('admin') // 删除用户 db.updateUser('admin', {pwd: '654321'}) //修改用户密码 db.auth('admin','654321') // 密码认证 db.dropDatabase() //先切换到指定数据库,然后执行以下命令删除数据库 quit() //退出登录
MongoDB 数据库用户权限
(1)数据库用户角色:read(只读)、readWrite(可读写);
(2)数据库管理角色:dbAdmin(在当前db中执行管理操作的权限)、dbOwner(在当前db中执行任意操作)、userAdmin(在当前db中管理user的权限);
(3)集群管理角色:clusterAdmin(管理机器的最高权限)、clusterManager(管理和监控集群的权限)、clusterMonitor(监控集群的权限)、hostManager( 管理Server);
(4)备份恢复角色:backup、restore;
(5)所有数据库角色:readAnyDatabase(在所有数据库上都有读取数据的权限)、readWriteAnyDatabase(在所有数据库上都有读写数据的权限)、userAdminAnyDatabase(在所有数据库上都有管理user的权限)、dbAdminAnyDatabase(管理所有数据库的权限);
(6)超级用户角色:root(超级用户)
总结
到此这篇关于MongoDB设置登录账号、密码及权限的文章就介绍到这了,更多相关MongoDB设置登录账号密码及权限内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!