windows\windows Server 安装mongodb以及一些生产环境下连接的权限设置(清楚、详细)

前提:

mongdb下载地址:http://www.mongodb.com/download-center/community
选择windows版本下载exe

安装:

1、点击进行安装, 选择custom(自定义)进行安装

在这里插入图片描述
2、这里我选择location(安装位置)为:D:\Program Files\MongoDB\Server\4.2,这个目录是我建的,如果不更改默认是再C:\Program Files\MongoDB\Server\4.2\

在这里插入图片描述
3、勾选Install MongoDB as a Service后会在安装后启动运行一个MongDB服务,Data Directory为数据存储的路径,log Directory为日志存储的路径,只要安装后就会启动

在这里插入图片描述
4、将Install MongoDB Compass选项去掉勾选,安装的话会很大,这里也并不需要compass,如果需要安装可以到官网下载单独安装

在这里插入图片描述
5、点击Install

在这里插入图片描述
6、完成

在这里插入图片描述

7、依据上面的方法已经可以本地连接mongdb数据库了,但是我们想要其他的服务器访问此mongodb,这就需要我们修改mongod.cfg的配置参数了,找到windows的服务,查看MongoDB Server的属性,如下图:
在这里插入图片描述
可以看到执行的命令为下面的语句,它是从D:\Program Files\MongoDB\Server\4.2\bin\mongod.cfg读取配置来作为开启MongDB服务的参数:

"D:\Program Files\MongoDB\Server\4.2\bin\mongod.exe" --config "D:\Program Files\MongoDB\Server\4.2\bin\mongod.cfg" --service

8、打开D:\Program Files\MongoDB\Server\4.2\bin\mongod.cfg,配置如下参数(各参数的意义请查看https://docs.mongodb.com/manual/reference/configuration-options/),这里讲解一下配置其他服务器访问的参数和安全选项的参数:

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: D:\Program Files\MongoDB\Server\4.2\data\db
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path:  D:\Program Files\MongoDB\Server\4.2\log\mongod.log

# network interfaces
net:
  port: 27017
  # 将bindIp改为0.0.0.0,则其他所有的服务器都可以访问或者指定固定的Ip访问如:
  # 192.168.1.2;192.168.1.56,多个ip使用;隔开
  bindIp: 0.0.0.0

# 此为安全参数,如果没有此参数配置则其他服务器可以通过ip和端口号直接访问到此mongdb,这样是不安全的,配置了此参数后只有通过用户名和密码访问此mongodb数据库
security:
    authorization: enabled


#processManagement:



#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

完成上面的步骤后, 重启mongo服务,然后需要在mongdb的admin库中创建一个超级用户,来进行对mongodb的连接
打开mongo shell, 按照下面操作:

> use admin #进入admin表
> db.createUser({user:"myadmin", pwd:"password", roles:[{role:"root",db:"admin"}]})

其中myadmin为创建的用户名,pwd为创建用户的密码,roles中root为最高的root权限,admin为创建用户所属的库。
注意:admin库下面创建的用户可以访问mongodb中任何其他数据库,当然有也有对应的权限,如上面的root权限。

下面操作为验证用户是否创建成功:

# 查看用户是否创建成功
>show users
# 输出以下内容表示添加成功 
{
  "_id" : "admin.myadmin",
  "user" : "myadmin",
  "db" : "admin",
  "roles" : [
    {
      "role" : "userAdminAnyDatabase",
      "db" : "admin"
    }
  ]
}
注意:

  如果再次进入admin数据库后,想要操作修改需要先权限认证,即:

db.auth("username", "password")

如果返回为1,怎验证成功,然后再执行其他操作(如:创建其他用户),返回0代表验证失败。

9、生产环境的话可能会开启防火墙,需要开放端口,添加入站规则,开放mongodb的连接端口,默认是27017
在这里插入图片描述

结尾:

可以通过另一台服务器使用Robo 3T测试是否连接到, Address为mongodb所在服务器的地址,27017为开放的端口号

在这里插入图片描述

勾选Perform authentication,填写admin数据库,并填写用户名密码,验证机制默认即可。
在这里插入图片描述
推荐一下python程序员常用功能的一个仓库(定期有新模块更新,求星):https://github.com/Chenhonli/python-frequently-feature

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橙子园

期待你的鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值