美文网首页
mongo的安装(单机版)

mongo的安装(单机版)

作者: 不愿透露姓名的李某某 | 来源:发表于2019-08-13 16:44 被阅读0次

    mongdb一个NoSQL数据库,里面存储的是BSON(Binary Serialized Document Format,支持集群,高可用、可扩展。

    mongdb中的一些概念

      MongoDB        MySQL

      database      database

      collection    table

      json      二维表

      不支持SQL    SQL

      _id          主键

    -----------------------------------------------------------------------------------------------

    -----------------------------------------------------------------------------------------------

    #创建一个普通用户xiaoniu

    useradd xiaoniu

    #为hadoop用户添加密码:

    echo 123456 | passwd --stdin xiaoniu

    #将bigdata添加到sudoers

    echo "xiaoniu ALL = (root) NOPASSWD:ALL" | tee /etc/sudoers.d/xiaoniu

    chmod 0440 /etc/sudoers.d/xiaoniu

    #解决sudo: sorry, you must have a tty to run sudo问题,在/etc/sudoer注释掉 Default requiretty 一行

    sudo sed -i 's/Defaults    requiretty/Defaults:xiaoniu !requiretty/' /etc/sudoers

    #配置mongo的yum源

    sodu vi /etc/yum.repos.d/mongodb-org-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.4.asc

    #关闭selinux

    vi /etc/sysconfig/selinux

    SELINUX=disabled

    #重新启动

    reboot

    ------------------------------------------------------------------------------------------------

    ###mongo的安装和基本使用###

    ------------------------------------------------------------------------------------------------

    #在机器上使用xiaoniu用户登录(本地安装给你了rpm包,rpm -ivh *.rpm)

    sudo yum install -y mongodb-org

    #修改mongo的配置文件

    sudo vi /etc/mongod.conf

    #注释掉bindIp或者修改成当前机器的某一个ip地址

    #启动mongo

    sudo service mongod start

    #连接到mongo

    #如果注释掉了bindIp,那么连接时用

    mongo

    #指定了ip地址

    mongo --host 192.168.100.101 --port 27017

    #使用或创建database

    use xiaoniu

    #创建集合(表)

    db.createCollection("bike")

    #插入数据

    db.bike.insert({"_id": 100001, "status": 1, "desc": "test"})

    db.bike.insert({"_id": 100002, "status": 1, "desc": "test"})

    #查找数据(所有)

    db.bine.find()

    #退出

    exit

    #关闭mongo服务

    sudu service mongod stop

    #设置服务开机启动

    sudo checkconfig mongod on

    #设置mongo服务开机不启动

    sudo chkconfig mongod off

    ------------------------------------------------------------------------------------------------

    ###mongo安全认证配置###

    #如果修改了mongo存储是的目录那么一定要修改该目录的所属用户和组为mongod

    #chown -R mongod:mongod  /mongo/

    ------------------------------------------------------------------------------------------------

    #添加管理员用户

    #使用admin这个database

    use admin

    #在没有开启认证的情况下,创建一个超级用户

    db.createUser(

        {

          user: "laozhao",

          pwd: "laozhao123",

          roles: [ {role: "root", db: "admin" }]

        }

    )

    #修改mongo的配置文件/etc/mongod.conf,配置mongo的安全认证

    security:

      authorization: enabled

    #重启mongo服务

    service mongod restart

    #重新使用mongo shell连接

    mongo

    #使用admin database

    use admin

    #授权登录

    db.auth("admin", "admin123")

    #创建一个bike数据库

    use bike

    #添加一个普通用户,具备读写权限

    db.createUser(

        {

          user: "xiaoniu",

          pwd: "123568",

          roles: ["readWrite"]

        }

    )

    #使用小牛用户登录

    mongo

    use bike

    db.auth("xiaoniu", "123568")

    #在database下创建collection

    db.createCollection("users")

    db.createCollection("bikes")

    #插入数据

    db.users.insert( { name: "laozhao", age: 30 } )

    #查找

    db.users.find()

    db.users.update({'name':'laozhao'},{$set:{'age': 18}},{multi:true})

    db.users.remove({'name': 'laoduan'})

    db.users.remove({'name': 'laoduan'}, 1)

    db.users.find({"name":"laoduan", "fv": 99.99})

    #查看当前db的索引

    db.logs.getIndexes()

    #创建索引

    db.logs.ensureIndex({"name":1})

    #删除索引

    db.logs.dropIndex({"name":1})

    #开启运行用户从其他机器连接mongodb

    #不然会报错Caused by: java.net.ConnectException: Connection refused (Connection refused)

    #修改/etc/mongod.conf,注释掉bindIp:

    #  bindIp:

    #重启mongodb

    service mongod restart

    数据库用户角色:read、readWrite;

    数据库管理角色:dbAdmin、dbOwner、userAdmin;

    集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;

    备份恢复角色:backup、restore;

    所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase

    超级用户角色:root

    // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)

    内部角色:__system

    相关文章

      网友评论

          本文标题:mongo的安装(单机版)

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