MongoDB入门系列(二) ===> 创建用户

版权声明:原创文章,如想转载,请注明原文网址,注明出处;否则,禁止转载;谢谢配合! https://blog.csdn.net/c_kite/article/details/85845983

本文代码测试环境: win10, MongoDB 4.0.5

刚安装好的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.

我们可以创建用户来解决这个问题.

创建用户

由于刚安装完, 没有权限校验因此可以先创建一个超级管理员

use admin

db.createUser(
   {
        user:"root", // 用户名
        pwd:"root", // 密码
        roles:[ // 角色
         {role:"root",db:"admin"} // 超级管理员
        ]
   }
)

// 输入命令, 提示Successfully added user:
// 之后可以输入show users命令, 查看详情

角色介绍

1.数据库用户角色:read、readWrite;
2.数据库管理角色:dbAdmin、dbOwner、userAdmin;
3.集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4.备份恢复角色:backup、restore;
5.所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6.超级用户角色:root  

修改密码

db.changeUserPassword("用户名", "密码")

删除用户

db.dropUser("用户名");

接着文章开头

创建完超级管理员之后最后再使用dbAdmin, 或者dbAdminAnyDatabase创建一个日常开发角色. 命令还是createUser, 只需要把roles里面的role更改一下就好.

创建完之后在MongoDB(博主的版本为4.0.5)的安装目录下找到bin文件夹, 打开里面的mongod.cfg.
在这里插入图片描述

增加字段authorization: enabled, 开启权限校验
在这里插入图片描述

之后使用net stop mongodb, net start mongodb 重启一下mongo的服务

在这里插入图片描述

再次进入的时候就会发现, 之前的warning不见了.

登录

登录用户有两种方法

// 1
输入命令 mongo
输入命令 use admin(切换到刚刚创建用户的数据库, 如不切换这时的数据库默认为test)
输入命令db.auth("用户名", "密码") 返回值为1代表登录成功
// 2
mongo -u "用户名" -p "密码" --authenticationDatabase 指定数据库 --port 指定端口

--authenticationDatabase 不写默认test数据库
--port 不写默认为27017, 如果想修改可以在mongod.cfg文件中修改

猜你喜欢

转载自blog.csdn.net/c_kite/article/details/85845983