美文网首页部署运维linux运维Java
Centos 安装mongoDB并授权

Centos 安装mongoDB并授权

作者: 黄黄丶 | 来源:发表于2019-11-20 22:11 被阅读0次

    养成良好的记录习惯
    作者:黄黄

    1.设置yum源

    创建仓库文件
    vim /etc/yum.repos.d/mongodb-org-4.0.repo
    
    • 加入以下内容
    [mongodb-org-4.0]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
    

    2.下载安装mongo

    yum install -y mongodb-org
    
    验证下载结果
    rpm -qa |grep mongodb
    
    mongodb-org-shell-4.0.13-1.el7.x86_64
    mongodb-org-server-4.0.13-1.el7.x86_64
    mongodb-org-mongos-4.0.13-1.el7.x86_64
    mongodb-org-4.0.13-1.el7.x86_64
    mongodb-org-tools-4.0.13-1.el7.x86_64
    

    3.启动mongod服务

    # 查看 mongod 服务的状态
    systemctl status mongod
    # 开启 mongod 服务
    systemctl start mongod
    # 设置 mongod 服务开机自启
    systemctl enable mongod
    
    # 确认mongod服务已开启成功后,进入 mongoDB 命令行交互模式
    mongo --port 27017
    

    4.创建用户和设置远程访问

    创建管理员
    use admin;
    db.createUser({user: "admin",pwd: "123456",roles:[{ role:"root", db: "admin"} ]});
    
    • 创建语句的意思是给admin数据库创建用户名为admin的超级管理员用户,为了方便后面权限认证建议使用root权限
    创建数据库用户
    use zzw;
    
    • 没有zzw会自动创建可以理解为创建用户
    db.createUser({ user: 'zhangzhiwen', pwd: '123456', roles: [ { role: "dbOwner", db: "zzw" } ] });
    
    • 没授权之前可以在任意地方创建用户,用户都可以在admin数据库中查找出来
    • 简单列取mongo数据库相关权限
      数据库用户角色:read、readWrite;
      数据库管理角色:dbAdmin、dbOwner、userAdmin;
      集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
      备份恢复角色:backup、restore
      所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
      超级用户角色:root
    设置远程访问
    • 编辑mongod.conf注释bindIp,并重启mongodb.(这句配置代表只能本机使用,所以需修改)
      设置为 0.0.0.0
    vim /etc/mongod.conf
    
    # network interfaces
    net:
      port: 27017
      bindIp: 0.0.0.0  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, 
    

    5.授权模式启动mongo服务

    vim /etc/mongod.conf
    

    添加以下内容开启授权模式

    security:
      authorization: enabled
    

    重启mongod

    systemctl restart mongod;
    
    • 如果报错Job for mongod.service failed because the control process exited with error code. See "systemctl status mongod.service" and "journalctl -xe" for details.做如下操作
    rm -f /tmp/mongodb-27017.sock
    

    重启mongod

    systemctl restart mongod;
    

    相关文章

      网友评论

        本文标题:Centos 安装mongoDB并授权

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