• mysqldump 根据时间字段导出数据的问题


    mysqldump  有很多有用的参数,根据条件导出数据的选项 -w  --where 用的情况并不多。如果不注意还是容易掉进坑里的

    mysql server默认的时区跟OS服务器保证一致:


    mysql> show variables like '%zone%';
    +------------------+--------+
    | Variable_name | Value |
    +------------------+--------+
    | system_time_zone | CST |
    | time_zone | SYSTEM |

    date -R
    Wed, 23 Nov 2016 21:31:32 +0800

    比如在中国大陆都统一使用的东八区.不需要在意时区问题,但是如果需要根据时间导数据的话就要注意了:

    --tz-utc SET TIME_ZONE='+00:00' at top of dump to allow dumping of
    TIMESTAMP data when a server has data in different time
    zones or data is being moved between servers with
    different time zones.
    (Defaults to on; use --skip-tz-utc to disable.)

    不在意这个参数的话,mysqldump    -w   "raw_add_time>='XXXX-XX-XX '" 直接导出来的数据就不准。根据mysql 客户端能查到的数据mysqldump 时可能就dump不到,因为时区少了8个小时!!!

    靠谱的做法是mysqldump 时加上--skip-tz-utc 禁用该时区选项:mysqldump    -w   "raw_add_time>='XXXX-XX-XX '"   --skip-tz-utc  这样 mysql 能查到的记录mysqldump也能导出来。

    Ps:如果涉及到跨时区数据迁移的话就要当心了

  • 相关阅读:
    Spring MVC入门——day01
    Spring5学习笔记——day05
    [BJDCTF2020]The mystery of ip
    [网鼎杯 2020 青龙组]AreUSerialz
    [网鼎杯 2018]Fakebook
    文件上传绕过学习
    [极客大挑战 2019]PHP
    无参数RCE总结及文件读取学习
    java中多线程执行时,为何调用的是start()方法而不是run()方法
    minconda安装配置
  • 原文地址:https://www.cnblogs.com/xingye001/p/6095580.html
Copyright © 2020-2023  润新知