zoukankan      html  css  js  c++  java
  • mysqldump备份单表数据

    方法二、使用MySQL的SELECT INTO OUTFILE 备份语句(推荐)
    在下面的例子中,生成一个文件,各值用逗号隔开。这种格式可以被许多程序使用。

    SELECT
      * INTO OUTFILE '/root/student_answer_block.text'
      FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' 
      LINES TERMINATED BY '
    '
    FROM
      student_answer_block
    WHERE
      examination_id IN (
        SELECT
          ID
        FROM
          examinations
        WHERE
          STATISTIC_TRIGGERED = 'Y'
        AND STATISTIC_DATE < DATE_SUB(CURDATE(), INTERVAL 1 MONTH)
        AND ORG_NO IS NOT NULL
        ORDER BY
          STATISTIC_DATE DESC
      );
    
    
    
    
    
    SELECT
      * INTO OUTFILE '/root/student_question.text'
      FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' 
      LINES TERMINATED BY '
    '
    FROM
      student_question
    WHERE
      examination_id IN (
        SELECT
          ID
        FROM
          examinations
        WHERE
          STATISTIC_TRIGGERED = 'Y'
        AND STATISTIC_DATE < DATE_SUB(CURDATE(), INTERVAL 1 MONTH)
        AND ORG_NO IS NOT NULL
        ORDER BY
          STATISTIC_DATE DESC
      );

    方法三、使用mysqldump
    很奇妙的是我发现了mysqldump其实有个很好用的参数“—w”
    帮助文档上说明:
    -w, --where=name Dump only selected records. Quotes are mandatory.
    Defaults to on; use --skip-lock-tables to disable

    备份一个月前的数据:
    mysqldump -S /data/mysqldata/3307/mysql.sock -uroot -p --skip-lock-tables yeah100 student_answer_block --where "examination_id IN ( SELECT ID FROM examinations WHERE STATISTIC_TRIGGERED = 'Y' AND STATISTIC_DATE < DATE_SUB(CURDATE(), INTERVAL 1 MONTH) AND ORG_NO IS NOT NULL ORDER BY STATISTIC_DATE DESC )" > /tmp/student_answer_block.sql mysqldump -S /data/mysqldata/3307/mysql.sock -uroot -p --skip-lock-tables yeah100 student_question --where "examination_id IN ( SELECT ID FROM examinations WHERE STATISTIC_TRIGGERED = 'Y' AND STATISTIC_DATE < DATE_SUB(CURDATE(), INTERVAL 1 MONTH) AND ORG_NO IS NOT NULL ORDER BY STATISTIC_DATE DESC )" > /tmp/student_question.sql

    还原数据库方法:

    mysql -S /data/mysqldata/3306/mysql.sock -uroot -p yeah100bakup < ./student_question.sql
  • 相关阅读:
    java 找不到或无法加载主类
    navicat connect error: Authentication plugin 'caching_sha2_password' cannot be loaded
    mysql command
    the diffirent between step into and step over (java)
    20181015
    Eclipse
    游戏2048源代码
    vue的生命周期
    简单快速了解Vue.js的开发流程
    C# 连接西门子PLC
  • 原文地址:https://www.cnblogs.com/ivan-yang/p/8399167.html
Copyright © 2011-2022 走看看