5.7.2后,MySQL加入了一个参数, log_timestamps
这个参数是用于控制error log、general log、slow log日期时区的。
当然,只对log_output=FILE的general log、slow log生效。
那么如果没有在5.7的配置文件中额外设置的情况下,就会出现如下问题:
比如错误日志中的时间不对之类的问题,可以说是十分蛋疼了。
这个参数最坑爹的地方是,默认值为"UTC"
- [11:50:57] root@localhost [(none)]> SELECT @@log_timestamps;
- +------------------+
- | @@log_timestamps |
- +------------------+
- | UTC |
- +------------------+
- 1 row in set (0.00 sec)
而之前的版本默认为本地的系统时区:
- 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 ",并且 可以动态修改:
- [11:51:09] root@localhost [(none)]> SET GLOBAL log_timestamps=SYSTEM; SELECT @@log_timestamps;
- Query OK, 0 rows affected (0.00 sec)
-
- +------------------+
- | @@log_timestamps |
- +------------------+
- | SYSTEM |
- +------------------+
- 1 row in set (0.00 sec)
虽然不知ORACLE出于什么考虑要这样改,但总之先将其改为SYSTEM,并写在配置文件里吧。
写在配置文件里重启的错误日志 效果可以感受一下:
瞬间多续了8个小时。
![](http://img.blog.itpub.net/blog/attachment/201710/17/29773961_1508212600h3Vb.png?x-oss-process=style/bb)
作者微信公众号(持续更新)
![](http://img.blog.itpub.net/blog/attachment/201805/23/29773961_1527060912ka13.png?x-oss-process=style/bb)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29773961/viewspace-2146053/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29773961/viewspace-2146053/