mysql time_zone system_time_zone导致sys升高、时区的坑

http://mp.weixin.qq.com/s?__biz=MzA3NDcyMTQyNQ==&mid=2649257910&idx=1&sn=b661411f11fe7cb9b1669e34b3d2bd2f&chksm=8767a648b0102f5e3089fb5299e0faca9c75827394f3c723ec7001c0124068a036a26080991d&mpshare=1&scene=23&srcid=08012bgnM3a7LM0Nb6s1Spuz#rd

http://webcache.googleusercontent.com/search?q=cache:p_AeVu4QhL8J:glume.blog.chinaunix.net/uid-20708886-id-5105437.html+&cd=1&hl=zh-CN&ct=clnk&gl=hk

默认参数:

mysql> show variables like '%time_zone%';

+------------------+--------+

| Variable_name | Value |

+------------------+--------+

| system_time_zone | CST |

| time_zone | SYSTEM |

+------------------+--------+

2 rows in set (0.00 sec)

###################time_zone的坑

CREATE TABLE `t_zone` (

`ctime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

) ENGINE=InnoDB DEFAULT CHARSET=utf8

mysql> select * from t_zone;

+---------------------+

| ctime |

+---------------------+

| 2017-08-02 11:58:32 |

| 2017-08-02 11:58:34 |

| 2017-08-02 11:58:34 |

+---------------------+

3 rows in set (0.00 sec)

备份出来的数据:

INSERT INTO `t_zone` VALUES ('2017-08-02 03:47:09'),('2017-08-02 03:47:10'),('2017-08-02 03:47:12');

mysqldump默认使用中时区

/*!40103 SET TIME_ZONE='+00:00' */;

######################

time_zone =SYSTEM和time_zone= '+08:00' 中时区的数据导入会加8,和原始的时间值相同,保证了数据一致性。

mysql> select * from t_zone;

+---------------------+

| ctime |

+---------------------+

| 2017-08-02 11:58:32 |

| 2017-08-02 11:58:34 |

| 2017-08-02 11:58:34 |

+---------------------+

3 rows in set (0.00 sec)

mysql> set time_zone='+7:00';

Query OK, 0 rows affected (0.00 sec)

mysql> set global time_zone='+7:00';

Query OK, 0 rows affected (0.00 sec)

mysql> drop table t_zone;

Query OK, 0 rows affected (0.00 sec)

mysql> select * from t_zone;

+---------------------+

| ctime |

+---------------------+

| 2017-08-02 10:58:32 |

| 2017-08-02 10:58:34 |

| 2017-08-02 10:58:34 |

+---------------------+

3 rows in set (0.00 sec)

测试用的‘+7:00’时区,备份数据导入会少1个小时。

############################

--tz-utc=0 有国外业务,可以考虑使用这个参数备份。

/usr/local/mysql/bin/mysqldump -uroot -p -S /home/mysql3309/run/mysql.sock --set-gtid-purged=OFF --tz-utc=0  hd_test t_zone >t_zone_2.sql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值