安装
在Centos下安装Mongodb,直接下载相应的版本解压即可。如我使用的是mongodb-linux-x86_64-rhel62-4.2.0.tgz,使用一下命令解压即可使用。主要的工具都在其bin目录下。
tar -vxf mongodb-linux-x86_64-rhel62-4.2.0.tgz
设置认证
设置认证可以有效加强服务器的安全性。
mongodb默认是不使用认证,为此需要使用conf配置来设置验证,同时建议更改监听端口。设置如下:
- dbpath是数据库存放的路径
- logpath是日志存放路径
- port是监听端口
- bind_ip是允许监听的地址,可以设置为0.0.0.0为任何都可以
- auth 就是是否开启认证,强烈建议开启认证功能
- fork 就是是否允许以僵尸进程在后台运行
首先以auth=false模式开启应用,然后设置相关用户名密码,需要在哪个库下面进行认证,就进入到库里面,然后创建认证用户。
mongod --config mongodb.conf
use test
db.createUser(
{
user: "simpleUser",
pwd: "simplePass",
roles: [ { role: "readWrite", db: "test" }]
}
)
其中role主要有一下几种,注意有些权限只有在admin库中使用,常用的也就是Read\readWrite\dbAdmin
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
设置完用户后,然后设置auth=true,重启启动数据库即可!
:)