NoSQL,泛指非关系型的数据库。Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录都是一个Document对象。Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作。
本次安装采用yum包管理器安装,也可以参考mongodb官方文档 mongodb.
centos默认源里的mongodb是2.7版本,所以首先使用root账号添加mongodb软件源
# vim /etc/yum.repos.d/mongodb-org-3.0.repo //文件名可以不一样
粘贴以下内容
[mongodb-org-3.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/
gpgcheck=0
enabled=1
保存,然后刷新yum缓存
# yum makecache
安装所有相关包可以直接执行
# yum install -y mongodb-org
也可以根据需要安装选择以下包
mongodb-org-3.0.5
mongodb-org-server-3.0.5
mongodb-org-shell-3.0.5
mongodb-org-mongos-3.0.5
mongodb-org-tools-3.0.5
如果只需要远程连接数据库,只安装mongodb-org-shell-3.0.5这个包就行
# yum install -y mongodb-org-shell-3.0.5
启动服务器:
# /etc/init.d/mysqld start //也可以采用systemctl启动,此处不再赘述
安装完成之后可以测试一下:
# mongo host:port/database
然后是权限管理,mongodb默认是没有开启权限验证的.权限验证的作用此处不再赘述.
使用db.createUser()添加用户,很多博客和论坛所说的db.addUser()是mongodb2添加用户的方法,对于mongodb3要使用db.createUser().
首先,使用mongo命令连接数据库,使用use admin
切换到admin数据库.创建一个管理员用户
db.createUser({
user:'root', //用户名
pwd:'adgjmptw' //密码
roles:[ //权限
{role:'root',db:'admin'}//指定root为超级用户
]})
至此,我们已经为mongodb添加了一个超级用户.
Mongodb还包含以下角色:
- 数据库用户角色:read、readWrite;
数据库管理角色:dbAdmin、dbOwner、userAdmin;
集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
备份恢复角色:backup、restore;
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色:root
内部角色:__sytem
修改配置文件,开启权限验证.通过yum安装的mongodb的配置文件是/etc/mongod.conf.删除auth字段的注释,即可打开权限验证.
下面配置mongodb的ip地址(无静态ip地址的用户可跳过此步骤).mongodb默认只绑定了127.0.0.1编辑mongodb的配置文档,找到bind_ip字段,添加相应ip地址.修改为如下形式即可:
bind_ip=127.0.0.1,xxx.xxx.xxx.xxx
重启数据库.现在,对数据库的操作需要相关权限.
author:Memory_Leak