• mysql大表归档后清理数据


     
    1、重命名表
    create table test_tmp like test;
    rename table test to test_bak20200619,test_tmp to test;  

    2、备份重命名表

    mysqldump test_bak20200619 

    3、设置硬链接

    ln /home/data/my3306/data/db1/test_bak20200619.ibd /home/data/my3306/data/db1/test_bak20200619.ibd.hdlk

    4、mysql里执行drop 重命名的表

    drop table db1.test_bak20200619;
    

    5、os命令truncate分批删除硬链接对应的文件

    bakdate=$(date "+%Y%m%d")
    file_size=$(du -sm /home/data/my3306/data/db1/table_bak${bakdate}.ibd.hdlk | awk '{print $1}')
    
    TRUNCATE=/usr/bin/truncate
    for i in `seq $file_size -2048 1024`
    do 
        sleep 1
        $TRUNCATE -s ${i}M /home/data/my3306/data/db1/table_bak${bakdate}.ibd.hdlk
    done
    
     
     
  • 相关阅读:
    css兼容性大坑
    JS获取元素CSS值
    calendar的一些操作
    java日期工具类
    redis的一些操作
    webstorm ES6 转 ES5
    基于时间的动画算法
    3434
    MySQL登陆知识
    MySQL密码知识点
  • 原文地址:https://www.cnblogs.com/imdba/p/13161799.html
Copyright © 2020-2023  润新知