美文网首页mongodb程序员代码改变世界
Centos下mongodb3.4的安装与配置

Centos下mongodb3.4的安装与配置

作者: ChainZhang | 来源:发表于2017-08-29 17:59 被阅读2026次

    本文为转载,原文:Centos下mongodb3.4的安装与配置

    mongodb安装

    yum命令安装

    本次安装使用的是yum命令安装,在安装志强,我们先执行以下命令更新下yum

    yum update
    

    然后添加mongodbyum源。

    cd /etc/yum.repos.d/
    vim mongodb-3.4.repo
    

    将以下内容添加到mongodb-3.4.repo

    [mongodb-org-3.4]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
    

    这里可以修改 gpgcheck=0, 省去gpg验证
    最后再执行以下命令进行安装:

    yum install -y mongodb-org
    

    执行完命令后,耐心等待即可。

    验证是否成功

    我们再来执行以下命令验证下我们是否安装成功:

    mongo --version
    

    这个结果便说明已经安装成功。

    我们可以通过以下命令查看安装后的相关文件目录:

    whereis mongod
    

    /etc/mongod.conf就是mongodb的配置文件。

    启动,停止服务

    centos7以下的启动、停止服务命令如下:

    sudo service mongod start //启动服务
    sudo service mongod stop  //停止服务
    

    centos7以上的启动停止服务命令如下:

    systemctl start mongod.service //启动服务
    systemctl stop mongod.service  //停止服务
    systemctl status mongod.service //查看服务状态
    

    在终端输入mongo命令即可进入mongodb的shell脚本:

    可以输入些简单的命令验证测试下:

    配置授权登录

    之前直接输入mongo命令进入脚本,是没有使用用户名和密码登录的。那么,我们要如何才能使用用户名密码来管理我们的mongodb呢?
    首先,我们得创建用户,同样我们先使用mongo命令进入脚本,并一次执行以下命令用以创建用户:

    > mongo
    > use admin
    > db.createUser({
    user:"root",
    pwd:"123456",
    roles:[{role:"root",db:"admin"}]
    })
    

    user:用户名
    pwd:密码
    roles:指定用户的角色,可以用一个空数组给新用户设定空角色;在roles字段,可以指定内置角色和用户定义的角色。role里的角色选择我在文章后面补充。

    然后,我们在修改下配置文件,先在mongo脚本里输入exit退出mongo。之后再输入以下命令修改配置文件:

    vim /etc/mongod.conf
    

    修改图中红色框的内容,注释bindIp,解开security的注释,并在下方添加authorization: enabled即可。
    之后再重启mongodb,重启的命令之前已经说过了,centos7之前与之后有些差别。
    然后再试下mongo命令。

    我们发现show dbs命令报错了,这是因为我们开启了认证,但是我们并没有登录。我们可以用以下命令来添加授权:
    > use admin
    > db.auth("root","123456")
    

    这样我们就可以继续访问mongodb了。
    或者我们可以用我们的用户名密码登录:

    mongo 127.0.0.1:27017/admin -u root -p
    

    这样也是可以的。

    mongodb角色

    内置角色

    1. 数据库用户角色:read、readWrite;
    2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
    3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
    4. 备份恢复角色:backup、restore;
    5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
    6. 超级用户角色:root, 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
    7. 内部角色:__system

    具体角色

    1. read:允许用户读取指定数据库
    2. readWrite:允许用户读写指定数据库
    3. dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
    4. userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
    5. clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
    6. readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
    7. readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
    8. userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
    9. dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
    10. root:只在admin数据库中可用。超级账号,超级权限

    本文为原创,转载请注明出处

    相关文章

      网友评论

        本文标题:Centos下mongodb3.4的安装与配置

        本文链接:https://www.haomeiwen.com/subject/qlhadxtx.html