• MongoDB数据库数据清理


    清理MongoDB集群数据:

    1、登录MongoDB集群(mongos):

    # mongo -u username -p password --authenticationDatabase admin 127.0.0.1:27017/admin
    

    2、查询2018-01-31之前的数据(mongos):

    mongos> db.tcache.find({"ft":{"$lt":new Date("2018-01-31T00:00:00.000Z")}}).count()
    # mongo-u username -p password --authenticationDatabase admin 127.0.0.1:27017/yqtrack_gather01 --eval 'db.tcache.find({"ft":{"$lt":new Date("2018-01-31T00:00:00.000Z")}}).count()'
    

    3、删除2018-01-31之前的数据(mongos):

    mongos> db.tcache.deleteMany({"ft":{"$lt":new Date("2018-01-31T00:00:00.000Z")}})
    # mongo -u username -p password --authenticationDatabase admin 127.0.0.1:27017/yqtrack_gather01 --eval 'db.tcache.deleteMany({"ft":{"$lt":new Date("2018-01-31T00:00:00.000Z")}})'
    

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

    收缩MongoDB节点数据库:

    1、登录Mongod节点(mongod):

    # mongo -u __system -p "$(tr -d '11-1540' < /usr/local/mongodb/etc/mongodb.key )" --authenticationDatabase local 172.16.1.151:27018/yqtrack_gather07
    

    2、确认节点为从数据库:

    rs1:SECONDARY> rs.status()
    

    3、设置从数据库节点可以读写:

    rs1:SECONDARY> db.getMongo().setSlaveOk()
    

    4、切换至对应数据库:

    rs1:SECONDARY> use yqtrack_gather01;
    

    5、强制收缩对应数据库:

    rs1:SECONDARY> db.runCommand({compact:'tcache',force:true });
    # mongo -u __system -p "$(tr -d '11-1540' < /usr/local/mongodb/etc/mongodb.key )" --authenticationDatabase local 172.16.1.87:27018/yqtrack_gather01 --eval 'db.runCommand({compact:"tcache",force:true})'
    

    6、将主节点降级为从节点:

    rs1:PRIMARY> rs.stepDown()
    

    ---------------------------------------------------------------- shell ---------------------------------------------------------------------

    查询指定节点,指定日期区间的数据量:

    #!/bin/bash
    for((p=1;p<=10;p+=1))
    do
    for((d=592;d>=506;d-=5))
    do
    day=`date -d -"$d days" +%Y-%m-%d`
    echo "$day"
    day_utc=""$day"T00:00:00.000Z"
    date="'db.tcache.find({"ft":{"$lt":new Date("$day_utc")}}).count()'"
    if [ "$p" -lt '10' ]
    then
    mongo -u username -p password --authenticationDatabase admin 127.0.0.1:27017/yqtrack_gather0"$p" --eval "$date"
    RESULT=$?
    else
    mongo -u username -p password --authenticationDatabase admin 127.0.0.1:27017/yqtrack_gather"$p" --eval "$date"
    fi
    sleep 5
    done
    done
    

    收缩指定节点的数据:

    #!/bin/bash
    for((d=1;d<=10;d+=1))
    do
    if [ "$d" -lt '10' ]
    then
    mongo -u __system -p "$(tr -d '11-1540' < /usr/local/mongodb/etc/mongodb.key )" --authenticationDatabase local 127.0.0.1:27018/yqtrack_gather0"$d" --eval 'db.runCommand({compact:"tcache",force:true})'
    else
    mongo -u __system -p "$(tr -d '11-1540' < /usr/local/mongodb/etc/mongodb.key )" --authenticationDatabase local 127.0.0.1:27018/yqtrack_gather"$d" --eval 'db.runCommand({compact:"tcache",force:true})'
    fi
    done
    

    [THE END]  

  • 相关阅读:
    20172314 2017-2018-2 《程序设计与数据结构》第七周学习总结
    20172314 2017-2018-2 《程序设计与数据结构》第六周学习总结
    20172314 2017-2018-2 《程序设计与数据结构》第5周学习总结
    20172314 2017-2018-2 《程序设计与数据结构》实验报告一
    20172314 2017-2018-2 《程序设计与数据结构》 第三周学习总结
    20172314 2017-2018-2 《程序设计与数据结构》第一周学习总结
    预备作业03
    学号 2017-2018-20172309 《程序设计与数据结构》第3周学习总结
    # 学号 2017-2018-20172309 《程序设计与数据结构》实验1报告
    第二 周作业总结
  • 原文地址:https://www.cnblogs.com/configure/p/11896498.html
Copyright © 2020-2023  润新知