博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL5.7 error log时间显示问题
阅读量:5326 次
发布时间:2019-06-14

本文共 3327 字,大约阅读时间需要 11 分钟。

最近有两三套环境升级到了5.7.16,发现mysql.err中的时间好像有些问题,经查是mysql 5.7后的变更,如下:

root@localhost [(none)]>select now();

+---------------------+
| now() |
+---------------------+
| 2017-01-01 14:52:05 |
+---------------------+
1 row in set (0.00 sec) 

日志显示时间

[root@bogon data]# /etc/init.d/mysqld start
Starting MySQL.... SUCCESS! 
You have new mail in /var/spool/mail/root
[root@bogon data]# tailf error.log 
2017-01-01T06:49:38.202954Z 0 [Note] InnoDB: Loading buffer pool(s) from /data/mysql/mysql3306/data/ib_buffer_pool
2017-01-01T06:49:38.440257Z 0 [Warning] Failed to set up SSL because of the following SSL library error: SSL context is not usable without certificate and private key
2017-01-01T06:49:38.440314Z 0 [Note] Server hostname (bind-address): '*'; port: 3306
2017-01-01T06:49:38.440426Z 0 [Note] IPv6 is available.
2017-01-01T06:49:38.440443Z 0 [Note] - '::' resolves to '::';
2017-01-01T06:49:38.440471Z 0 [Note] Server socket created on IP: '::'.
2017-01-01T06:49:38.627893Z 0 [Note] InnoDB: Buffer pool(s) load completed at 161116 14:49:38
2017-01-01T06:49:38.871533Z 0 [Note] Event Scheduler: Loaded 0 events
2017-01-01T06:49:38.871938Z 0 [Note] /usr/local/mysql/bin/mysqld: ready for connections.
Version: '5.7.14-log'socket: '/tmp/mysql3306.sock'port: 3306MySQL Community Server (GPL)

问题原因:

log_timestamps
Introduced 5.7.2
Command-Line Format --log_timestamps=#
System Variable Name log_timestamps
Variable Scope Global
Dynamic Variable Yes
Permitted Values Type enumeration
Default UTC
Valid Values UTC
SYSTEM
This variable controls the timestamp time zone of error log messages, and of general query log and slow query log messages written to files. It does not affect the time zone of general query log and slow query log messages written to tables (mysql.general_log, mysql.slow_log). Rows retrieved from those tables can be converted from the local system time zone to any desired time zone with CONVERT_TZ() or by setting the session time_zone system variable.
Permitted log_timestamps values are UTC (the default) and SYSTEM (local system time zone).
Timestamps are written using ISO 8601 / RFC 3339 format: YYYY-MM-DDThh:mm:ss.uuuuuu plus a tail value of Z signifying Zulu time (UTC) or ±hh:mm (an offset from UTC).
This variable was added in MySQL 5.7.2. 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. 

这个参数是5.7.2引进来的,主要控制记录日志的时间戳(得加到默认配置中了),不影响general log和slow log写表。

 

解决办法:

它的默认设置是UTC,如果你想改变默认设置,set log_timestamps=SYSTEM就可以了。注意这个变量的作用域是global

root@localhost [(none)]>SHOW GLOBAL VARIABLES LIKE 'log_timestamps';
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:3
Current database: *** NONE ***
+----------------+-------+
| Variable_name| Value |
+----------------+-------+
| log_timestamps | UTC |
+----------------+-------+
1 row in set (0.01 sec)
root@localhost [(none)]>set global log_timestamps=SYSTEM;
Query OK, 0 rows affected (0.00 sec)
root@localhost [(none)]>SHOW GLOBAL VARIABLES LIKE 'log_timestamps';
+----------------+--------+
| Variable_name| Value|
+----------------+--------+
| log_timestamps | SYSTEM |
+----------------+--------+
1 row in set (0.00 sec) 

转载于:https://www.cnblogs.com/zhjh256/p/6249761.html

你可能感兴趣的文章
性能分析:处理器、磁盘I/O、进程、网络分析方法 http://www.cnblogs.com/fnng/archive/2012/10/30/2747246.html...
查看>>
手动实现二值化
查看>>
Set DSL in Ubuntu 18.04
查看>>
What Linux bind mounts are really doing
查看>>
silverlight 碰撞检测
查看>>
linux top命令详解
查看>>
facade层,service 层,domain层,dao 层设计
查看>>
拉格朗日定理
查看>>
【是程序猿就干了这碗心灵鸡汤】我们这一代人的困惑
查看>>
HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth之完全详解
查看>>
java 判断两个时间相差的天数
查看>>
线性表的链式存储结构-----链表
查看>>
centos6下yslow部署
查看>>
理解 Objective-c "属性"
查看>>
CLOUD常用设置
查看>>
[zhuan]asp.net程序性能优化的七个方面 (c#(或vb.net)程序改进)
查看>>
日志分隔工具Cronolog
查看>>
hibernate FetchType理解
查看>>
GNU make 汇总
查看>>
理解结构与表现相分离
查看>>