Windows环境下安装Mongo

安装包下载

官网下载地址:https://www.mongodb.com/try/download/community
百度云下载:链接:https://pan.baidu.com/s/1ZyfqhPtGIxhPy_4Q2IokPA
提取码:v515

软件安装

勾选接受同意许可
在这里插入图片描述
选择自定义模式
在这里插入图片描述
选择安装路径
在这里插入图片描述
安装成功界面
在这里插入图片描述

配置启动

在安装主目录下创建data文件夹,并在data文件夹下再创建db文件夹log文件夹db文件夹用于存储数据库数据log文件夹用于存储数据库日志
在这里插入图片描述
将Mongo安装目录的bin路径(例如我的:E:\chDevTools\MongoDB\Server\3.2\bin)添加到环境变量path中。这样以后执行一些mongo相关的命令可以不用进入到mongo安装路径的bin目录。

有两种启动方式,以命令行的方式启动和以服务的方式启动

命令行方式启动

# 指定数据存储的位置
mongod --dbpath E:\chDevTools\MongoDB\Server\3.2\data\db

在这里插入图片描述

# 指定数据存储的位置,和日志存储的位置
mongod --dbpath E:\chDevTools\MongoDB\Server\3.2\data\db --logpath E:\chDevTools\MongoDB\Server\3.2\data\log\mongo.log

在这里插入图片描述

在浏览器输入 127.0.0.1:27017 进行验证,出现如下提示则启动成功。
在这里插入图片描述
或者在命令行执行mongo命令,出现现象则表示Mongo启动成功。
在这里插入图片描述

服务的方式启动

在Mongo安装的主目录下创建文件mongod.config,文件内容如下:
在这里插入图片描述
在这里插入图片描述
在命令行输入以下命令,使用–install选项将Mongo添加为Windows的服务。

mongod --config “E:\chDevTools\MongoDB\Server\3.2\mongod.config” --install -serviceName "MongoDB"

按住Win键和R键,输入services.msc,打开服务,可以看到MongoDB服务已经添加成功,但是此时MongoDB服务还未启动(当然也可以在此右键手动启动和停止)。
在这里插入图片描述
在这里插入图片描述

在命令行输入 net start MongoDB 启动服务。启动后在服务列表可以看到启动状态。
在这里插入图片描述
在这里插入图片描述

顺带介绍下停止服务 net stop MongoDB 和删除服务 sc delete MongoDB 的命令。
在这里插入图片描述
在这里插入图片描述

设置用户和密码

在默认情况下,mongod是监听在127.0.0.1之上的,任何客户端都可以直接连接27017,且没有认证。如果是在公网服务器搭建MongoDB,那么所有人都可以直接访问并修改数据库数据,这是很危险的。
默认情况下,mongod也是没有管理员账户的。因此需要在admin数据库中使用db.createUser()命令添加管理员帐号,且使用--auth参数启动mongod,否则,任何人都可以在数据库中无需认证执行所有命令。

mongodb内置角色

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

切换到admin数据库,使用以下命令创建管理账号。

db.createUser({user:"admin",pwd:"123456",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})

在这里插入图片描述
停止服务,将之前的服务删除,但是原有的data\db目录下的数据不要删除。然后再添加 --auth 参数重新添加服务。最后重新启动服务。

mongod --config “E:\chDevTools\MongoDB\Server\3.2\mongod.config” --auth --install -serviceName "MongoDB"

在这里插入图片描述

验证,如果不进行db.auth()进行用户验证的话,是执行不了任务命令。
在这里插入图片描述

以下演示对单个数据库设置用户名和密码

db.createUser({user:'nobody',pwd:'123456',roles:[{role:'readWrite',db:'nobody'}]})

在这里插入图片描述
验证,我们用Mongo可视化工具(Studio 3T For MongoDB)连接,即可看到不用用户可见的数据库范围。注意连接有用户名和密码的需要填写用户名和密码。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/chenlixiao007/article/details/107968119