MongoDB入门系列 ===; 创建用户
Posted 刘翾
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB入门系列 ===; 创建用户相关的知识,希望对你有一定的参考价值。
全系列目录
- MongoDB入门系列(一) ===> 概念解析 https://blog.csdn.net/c_kite/article/details/85777134
- MongoDB入门系列(二) ===> 创建用户 https://blog.csdn.net/c_kite/article/details/85845983
- MongoDB入门系列(三) ===> 基本操作:增删改查 https://blog.csdn.net/c_kite/article/details/85853719
- MongoDB入门系列(四) ===> 应用补充 https://blog.csdn.net/c_kite/article/details/86361302
文章目录
本文代码测试环境: win10, MongoDB 4.0.5
mongo安装教程不出, 可以自行在网络中搜索
刚安装好的mongodb会提示:
2019-01-05T11:22:42.470+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2019-01-05T11:22:42.470+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
我们可以创建用户来解决这个问题.
1. 创建用户
由于刚安装完, 没有权限校验因此可以先创建一个超级管理员
use admin
db.createUser(
user:"root", // 用户名
pwd:"root", // 密码
roles:[ // 角色
role:"root",db:"admin" // 超级管理员
]
)
// 输入命令, 提示Successfully added user:
// 之后可以输入show users命令, 查看详情
1.1 角色介绍
1.数据库用户角色:read、readWrite;
2.数据库管理角色:dbAdmin、dbOwner、userAdmin;
3.集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4.备份恢复角色:backup、restore;
5.所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6.超级用户角色:root
2. 修改密码
db.changeUserPassword("用户名", "密码")
3. 删除用户
db.dropUser("用户名");
4. 接着文章开头
创建完超级管理员之后最后再使用dbAdmin
, 或者dbAdminAnyDatabase
创建一个日常开发角色. 命令还是createUser
, 只需要把roles里面的role更改一下就好.
创建完之后在MongoDB(博主的版本为4.0.5)的安装目录下找到bin文件夹, 打开里面的mongod.cfg
.
增加字段authorization: enabled
, 开启权限校验
之后使用net stop mongodb
, net start mongodb
重启一下mongo的服务
再次进入的时候就会发现, 之前的warning不见了.
5. 登录
登录用户有两种方法
// 1
输入命令 mongo
输入命令 use admin(切换到刚刚创建用户的数据库, 如不切换这时的数据库默认为test)
输入命令db.auth("用户名", "密码") 返回值为1代表登录成功
// 2
mongo -u "用户名" -p "密码" --authenticationDatabase 指定数据库 --port 指定端口
--authenticationDatabase 不写默认test数据库
--port 不写默认为27017, 如果想修改可以在mongod.cfg文件中修改
以上是关于MongoDB入门系列 ===; 创建用户的主要内容,如果未能解决你的问题,请参考以下文章