zoukankan      html  css  js  c++  java
  • MongoDB 基础

    一.安装MongoDB

    (1)redhat或centos6.2以上系统
    (2)系统开发包完整
    (3)ip地址和hosts文件解析正常
    (4)iptables防火墙&SElinux关闭
    (5)关闭大页内存机制
    ########################################################################
    
    #关闭透明大页   root用户下
    cat <<EOF >/etc/rc.local
    
    #add for MongoDB
    if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
      echo never > /sys/kernel/mm/transparent_hugepage/enabled
    fi
    if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
       echo never > /sys/kernel/mm/transparent_hugepage/defrag
    fi
    EOF
    
    cat  /sys/kernel/mm/transparent_hugepage/enabled        
    cat /sys/kernel/mm/transparent_hugepage/defrag 
    
    #创建用户
    useradd mongod
    passwd mongod
    
    #创建目录
    mkdir -p /mongodb/conf
    mkdir -p /mongodb/log
    mkdir -p /mongodb/data
    mkdir -p /mongodb/bin
    
    #安装
    cd /install
    tar -zxvf mongodb-linux-x86_64-rhel70-3.6.20.tgz
    cp -r /install/mongodb-linux-x86_64-rhel70-3.6.20/bin /mongodb/bin
    chown -R mongod:mongod /mongodb
    
    su - mongod
    cat <<'EOF'>> .bash_profile
    
    #add for mongodb
    export PATH=/mongodb/bin:$PATH
    EOF
    
    source .bash_profile
    
    #启动
    mongod --dbpath=/mongodb/data --logpath=/mongodb/log/mongodb.log --port=27017 --logappend --fork
    
    
    #配置文件
    #YAML例子
    cat > /mongodb/conf/mongo.conf <<EOF
    systemLog:
       destination: file
       path: "/mongodb/log/mongodb.log"
       logAppend: true
    storage:
       journal:
          enabled: true
       dbPath: "/mongodb/data/"
    processManagement:
       fork: true
    net:
       port: 27017
       bindIp: 0.0.0.0
    EOF
    
    #用配置文件启动MongoDB
    mongod -f /mongodb/conf/mongo.conf --shutdown
    mongod -f /mongodb/conf/mongo.conf 
    
    
    #配置systemd
    cat > /etc/systemd/system/mongod.service <<EOF
    [Unit]
    Description=mongodb 
    After=network.target remote-fs.target nss-lookup.target
    [Service]
    User=mongod
    Type=forking
    ExecStart=/mongodb/bin/mongod --config /mongodb/conf/mongo.conf
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/mongodb/bin/mongod --config /mongodb/conf/mongo.conf --shutdown
    PrivateTmp=true  
    [Install]
    WantedBy=multi-user.target
    EOF
    
    systemctl daemon-reload
    systemctl restart mongod
    systemctl stop mongod
    systemctl start mongod
    systemctl status mongod
    

    二、基本操作

    user mydb
    show dbs
    show databases
    db.c1.insert({"name":"zhangsan","age":"16"})
    show tables
    db.c1.find()
    for(i=0;i<10000;i++){db.log.insert({ "uuid":i,"name":"mongodb","age":6,"date":new Date()})}
    db.log.find({uuid:100})
    db.log.find({uuid:100}).pretty()
    
    DBQuery.shellBatchSize=50
    db.log.findOne()
    db.log.remove({})
    db.log.distinct("age")
    db.log.stats()
    db.log.datasize()
    db.log.totalIndexSize()
    db.log.storageSize()
    
    #创建用户     (在database中创建)
    #1.创建管理员用户
    use admin
    db.createUser(
    {
        user : "root",
        pwd : "root123",
        roles : [ { role : "root", db : "admin" } ]
    }
    )
    
    #2.创建APP用户
    use appdb01
    db.createUser(
    {
        user : "app01",
        pwd : "app01pwd",
        roles : [ { role : "readWrite", db : "appdb01" } ]
    }
    )
    
    #3.管理多个库
    use appdb01
    db.createUser(
    {
        user : "app01",
        pwd : "app01pwd",
        roles : [ { role : "readWrite", db : "appdb01" } ],
                [ { role : "read", db : "appdb02" } ],
    }
    )
    
    
    #验证
    db.auth('root','root123')
    
    
    #删除用户
    use app01
    db.dropUser("root1")
    #开启验证功能 /mongodb/conf/mongo.conf
    security:
      authorization: enabled
    
    #查看用户信息
    db.system.users.find().pretty()
    
    #远程连接
    mongo -uroot -p123456 192.168.10.161/admin    # ip/admin   登录后使用admin库
    mongo -uapp01 -papp01pwd 192.168.10.161/appdb01
    
  • 相关阅读:
    opengles 2.0 渲染Yuv视频
    wzplayer for android 版本面世
    wzplayer for android V1.0快出炉了
    wzplayer for android V1.0快出炉了
    wzplayer for android V1.0
    opengles 2.0 渲染Yuv视频
    新浪微博发布案例
    前端开发单位em
    vue 做一个简单的TodoList
    jquery对类的操作,添加,删除,点击添加,再点击删除
  • 原文地址:https://www.cnblogs.com/skyan/p/14060856.html
Copyright © 2011-2022 走看看