Fantasy life

明月三千里

  • 博客访问: 746318
  • 博文数量: 157
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-28 23:51
  • 认证徽章:
个人简介

转载请注明出处: 作者:神谕。博客地址:http://blog.itpub.net/29773961/。

ITPUB论坛APP

ITPUB论坛APP



APP发帖 享双倍积分

文章分类

全部博文(157)

文章存档

2018年(4)

2017年(23)

2016年(38)

2015年(67)

2014年(25)

微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

分类: MySQL


5.7.2后,MySQL加入了一个参数,log_timestamps
这个参数是用于控制error log、general log、slow log日期时区的。
当然,只对log_output=FILE的general log、slow log生效。


那么如果没有在5.7的配置文件中额外设置的情况下,就会出现如下问题:
比如错误日志中的时间不对之类的问题,可以说是十分蛋疼了。

这个参数最坑爹的地方是,默认值为"UTC"
  1. [11:50:57] root@localhost [(none)]> SELECT @@log_timestamps;
  2. +------------------+
  3. | @@log_timestamps |
  4. +------------------+
  5. | UTC              |
  6. +------------------+
  7. 1 row in set (0.00 sec)

而之前的版本默认为本地的系统时区:
  1. Before 5.7.2, timestamps in log messages were written using the local system time zone by default, not UTC. If you want the previous log message time zone default, set log_timestamps=SYSTEM.

该变量目前为枚举类型,并只支持"UTC"与"SYSTEM",并且可以动态修改:

  1. [11:51:09] root@localhost [(none)]> SET GLOBAL log_timestamps=SYSTEM;   SELECT @@log_timestamps;
  2. Query OK, 0 rows affected (0.00 sec)

  3. +------------------+
  4. | @@log_timestamps |
  5. +------------------+
  6. | SYSTEM           |
  7. +------------------+
  8. 1 row in set (0.00 sec)



虽然不知ORACLE出于什么考虑要这样改,但总之先将其改为SYSTEM,并写在配置文件里吧。

写在配置文件里重启的错误日志效果可以感受一下:
瞬间多续了8个小时。





阅读(239) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册