您的位置:首页 > 数据库 > Mongodb

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

2013-04-20 22:50 776 查看

一、Mongodb的安装

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

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



下载以后解压到需要的目录。我解压的位置是: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的两个库里添加,但是需要重启库
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: