zoukankan      html  css  js  c++  java
  • mysql 归档方案(一次性)

    一、 归档流程:

                   1. 导出需要的数据

                   2. 创建临时表table_tmp

                   3. 导入数据到临时表

                   4. 修改原始表名为table_bak

                   5. 修改临时表为原始表名

    二、归档方式对比

      1. select into outfile load data infile 导入导出的方式

        SELECT * FROM student where create_time > '2018-10-01 00:00:00' into  /data/mysql/student.sql

        source  /data/mysql/student.sql

      2. INSERT INTO 直接读取写入的方式

        INSERT INTO student_tmp SELECT * FROM student where create_time > '2019-02-16 00:00:00'

      3. mysql官方自带逻辑备份工具mysqldump

        mysqldump --user=root --host=127.0.0.1 -p --skip-lock-tables --single-transaction --flush-logs --hex-blob --master-data=2 test student --where="create_time > '2019-04-16 00:00:00'" > /data/mysql/student.sql

      4. Percona归档工具pt-archiver

        pt-archiver 

        --source h=127.0.0.1, u=root, p=123456, D=test, t=student

        --dest h=127.0.0.1, P=3306,u=root,p=123456, D=test,t=student_tmp

         --progress 50000

        --where "create_time > '2019-02-16 00:00:00'"

        --bulk-insert

        --statistics

        --charset=UTF8

        --limit=50000

        --txn-size 1000 

        --no-delete  

        参数说明:

          --source      #源数据库信息

          --dest    #目标数据库信息

          --progress 5000    #每处理5000行输出一次处理信息

          --where         #设置操作条件

          --bulk-insert    #批量插入数据到dest主机

          --statistics     #输出执行过程及最后的操作统计

          --charset=UTF8    #指定字符集为UTF8

          --limit=50000     #每次取1000行数据用pt-archive处理

          --txn-size 1000    #设置1000行为一个事务提交一次

          --no-delete      #不删除源数据

          --purge     #删除source数据库的相关匹配记录 

  • 相关阅读:
    DS02--线性表
    DS01--抽象数据类型
    C语言最后一次作业--总结报告
    C语言第十一次作业--函数嵌套调用
    你还有很多要学的东西
    Google Guice 系列教程 - 基础实践
    Eclim指令集
    maven入门案例
    从java调用groovy
    linux下安装Groovy环境
  • 原文地址:https://www.cnblogs.com/Jack1023/p/10906384.html
Copyright © 2011-2022 走看看