Mongodb应用实战教程:windows下安装与安全策略配置

一、Mongodb的安装

    首先引用网上很流行的一个mongodb教程——《8天学通MongoDB》。这是我入门看的第一个教程。觉得写得很不错。看完以后对mongo就会有个较为深入的了解。可是想把mongo应用到实战环境,恐怕还是需要一些工作。写这个教程就是记录我把mongo引入生产环境需要解决的一些问题。

    要使用mongodb首先肯定是要安装。在windows环境下安装非常方便。MongoDB官方的下载地址为:http://www.mongodb.org/downloads。

mongodb下载地址

    下载以后解压到需要的目录。我解压的位置是:D:\WebServer\mongodb。在mongo的根目录建立data文件夹,用来存放数据文件。


    在测试环境下,可以直接用命令行启动。但是在生产环境中,为了保证服务的正常,最好把mongodb安装成服务。可以随windows开机启动。把mongodb安装成服务只要在命令行下输入:

mongod --install --logpath=d:\WebServer\mongodb\log --auth --bind_ip 127.0.0.1 --port 27017 --dbpath=d:\WebServer\mongodb\data

    安装好的服务可以在windows控制面板 - 管理工具 - 服务中看到。

    点击启动开启它,以后mongodb就会作为服务随系统一起自动启动。而且每次启动的参数都是以刚刚输入的命令为准。命令行的参数具体含义是:

--dbpath     表示数据存储位置
--auth         表示开启用户认证(默认未开启)
--install       表示把mongo安装成服务
--logpath    表示mongo日志目录(开启服务必须开启)
--bind_ip    表示绑定的IP
--port         表示绑定的端口

二、Mongodb的安全策略和配置

    很多mysql的用户,刚转到mongodb都会有疑问。在命令行下访问,不需要输入用户名密码,就可以随意的增删改查数据。这样不是很不安全么?默认,mongodb是不开启任何认证机制的。可是在生产环境中,这无疑会成为运维人员心中的一块心病。所以合适的安全策略是必须的。

    首先,绑定IP是第一道防护。如果只是本机访问可以直接绑定127.0.0.1,以避免外界的随意入侵。或者可以绑定一个内网地址,防止外网的入侵。

    其次,换一个端口号。如果使用数据库默认的端口号,肯定会增加被攻击的几率。所以选择一个特别的端口号,也是一个防护的策略。

    第三,开启用户认证机制。

    开启认证有以下几个步骤:

        1、服务程序开启认证功能。这个已经在刚刚的安装中提到了。使用--auth参数开启认证。

        2、用mongo客户端程序添加用户信息。可以直接在admin或local库中使用db.addUser()函数添加,这样添加的用户具有全局权限,也可以在自定义的库中添加,这样添加的用户只有该库的权限。

$ mongo
#指定某个库
> use admin
#添加用户,密码,mongodb会自动为其加密,并且在表中生成system.users的collection,可以查询当前库用户
> db.addUser('admin','admin')
{ "user" : "admin", "pwd" : "2f09b653fdf3627a8fc6367f19b67c28" }
> db.system.users.find()
{ "_id" : ObjectId("4beb6a09ee63be17c992d8e0"), "user" : "admin", "pwd" : "2f09b653fdf3627a8fc6367f19b67c28" }

#关于库权限,如果用户需要全局的权限,可以在admin和local的两个库里添加,但是需要重启库

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值