Centos7安装配置Mongodb3

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