win10安装mongodb及mongo shell工具
本节操作主要是对于windows操作系统来说的,我使用的是win10演示,其他系统可自行试验。
一、 安装mongodb
下载社区版:
https://www.mongodb.com/try/download/community





二、下载mongodb shell
https://www.mongodb.com/try/download/shell
解压后,直接运行mongosh.exe,即可出现黑窗口

使用方法可参考 :https://www.runoob.com/mongodb/mongodb-shell.html
在mongo shell里运行语句:
连接mongo:
mongodb://localhost/
显示全部数据库:
show databases;
新建总管理员:
use admin
给admin设置用户密码user: 用户名pwd: 用户密码roles: 用来设置用户的权限,比如读,读写 等等:
db.createUser({user: 'root', pwd: '密码', roles: ['root']});这里的密码设置时要注意,最好不要使用@符号,如果使用了,连接时,要把@符号变为%40
如果用户已存在,可删除后重建
db.dropUser('root');验证是否成功:
db.auth('root', 'mima')显示{ ok :1 } 即为成功
给某个数据库设置单独的密码
刚才是给root设置密码,现在要给特定的每个库设置权限,比如demo库
use demo
db.createUser({ user: 'cccc', pwd: 'demo_mima', roles: [{ role: 'readWrite', db: 'demo' }] })这行代码意思是 创建一个cccc用户 给予读写权限 db表示该用户操作的数据库名。
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
三、开通登录认证
在开通登录认证前,先把上面的管理员账号设置好,一旦这里开通认证登录后,如果没有用户名和密码是无法连接的,上面的连接不需要密码,直接连接即可,下面开通登录认证功能,即连接mongodb时,需要使用用户名和密码
打开mongodb安装路径下的mongod.cfg 文件

1. bindIp修改为 0.0.0.0 允许外网访问
2. authorization 修改为 enabled 开启认证
3. 重启一下mongodb, 方法:打开服务,右键重启。

再登录就需要用户名和密码了。
使用root用户登录,新建数据库后,可以再单独为此数据库新建用户。


















